原来是用java写的,现在初学node.js,要改写。怎么弄啊,哪位大侠可以指点一下?原来的那个xml文档里面的内容要怎么写到args里面呢?还有Header里面的东西。 headers.setHeader(“Content-Type”,“text/xml”); headers.setHeader(“SOAPAction”,“http://xxx.com/runQuery”);
文档太少了。用的是node.js v0.10.7和milewise的soap模块。
var soap = require(‘soap’); var url = ‘http://xxx.com/xxx.asmx’; var args = {xxx:‘abc’}; soap.createClient(url, function(err, client) { client.RunQuery(args, function(err, result) { console.log(result); }); });
报错: Error: Unexpected root element of WSDL or include at null.<anonymous> (/home/taxi/nodeapp/node_modules/soap/lib/wsdl.js:907:23) at EventEmitter.emit (events.js:98:17) at Parser.parse (/home/taxi/nodeapp/node_modules/soap/node_modules/node-expat/lib/node-expat.js:18:22) at WSDL._parse (/home/taxi/nodeapp/node_modules/soap/lib/wsdl.js:920:12) at WSDL._fromXML (/home/taxi/nodeapp/node_modules/soap/lib/wsdl.js:928:29) at /home/taxi/nodeapp/node_modules/soap/lib/wsdl.js:584:18 at process._tickCallback (node.js:415:13)
顶下
好像没有必要自己写一个 https://npmjs.org/browse/keyword/soap
有可能是你的url写的不对
时间过去一年了,不知楼主当时的node soap项目怎么样了,我现在遇到的项目是个老项目,也要soap,有一些问题希望能向楼主请教请教
meteor项目中内嵌了soap使用ws没问题,跟IBM双通。 meteor内嵌的也是通过这个nodejs包改的。
现在很多协议都比soap强,http也很好使,更不用说Hessian
soap就是渣渣:(