I am trying to consume ExactTarget Web Service API from node.js using node-soap. With other webservices, I instantiate a client with the WSDL
var soap = require('soap'); var url = "http://www.webservicex.net/stockquote.asmx?WSDL"; var args = {"symbol" : "DOX"}; soap.createClient(url,function(err,client){ if (err) throw err; console.log(client.describe()); })
The above code-fragment prints out something like this
{ StockQuote:
{ StockQuoteSoap: { GetQuote: [Object] },
StockQuoteSoap12: { GetQuote: [Object] }
}
}
Looking at the output, I can invoke a WebService Method like
client.StockQuote.StockQuoteSoap.GetQuote(args,function(err,result)
When I try to instantiate a client with the ExactTarget URL https://webservice.exacttarget.com/etframework.wsdl, the client.describe
call fails with the message
RangeError: Maximum call stack size exceeded
The node-soap documentation shows the following way to invoke a WebService method
Client.service.port.method(args, callback) - call a method using a specific service and port
How do I invoke a WebService method such as Create? Specifically, what do I specify for service
& port