Skip to content

Instantly share code, notes, and snippets.

@AVGP
Created November 22, 2014 17:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AVGP/630dfafab3c6a67b5bca to your computer and use it in GitHub Desktop.
Save AVGP/630dfafab3c6a67b5bca to your computer and use it in GitHub Desktop.
Demo of node.js SOAP client
var soap = require("soap");
soap.createClient("http://www.w3schools.com/webservices/tempconvert.asmx?WSDL", function(err, client) {
if(err) {
console.error("Can't create client", err);
return;
}
client.CelsiusToFahrenheit({Celsius: "25"}, function(err, result) {
if(err) {
console.error("Can't call method", err);
return;
}
console.log(result);
});
});
@Couto
Copy link

Couto commented Nov 22, 2014

I get a really nice error stack while parsing my wsdl:

/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:784
      var base = typeElement.description(definitions, xmlns);
                             ^
TypeError: Cannot call method 'description' of undefined
    at ExtensionElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:784:30)
    at ComplexContentElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:814:20)
    at ComplexTypeElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:804:20)
    at ElementElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:860:46)
    at AllElement.description.SequenceElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:901:29)
    at ComplexTypeElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:804:20)
    at ElementElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:860:46)
    at AllElement.description.SequenceElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:901:29)
    at ComplexTypeElement.description (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:804:20)
    at MessageElement.postProcess (/Users/couto/Development/[redacted]/node_modules/soap/lib/wsdl.js:529:32)

On the other hand I can parse the same wsdl with soap-attrib, but it then fails to construct the correct request.

I'm currently diffing the two to see if I can fix this, but I'm quite open to ideas since I'm not a SOAP expert, in fact it's my first big adventure with soap services.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment