节点和肥皂服务消费

时间:2016-05-09 15:44:49

标签: node.js soap

尝试从Node进行SOAP调用。我有一些模式名称问题,使服务调用成功。

以下是现有SOAP期望的请​​求

需要

<soapenv:Body>
***<ser:MyServiceName> ***
    <ser:request>
       <ecms:serviceId>123456789</ecms:serviceId
       <ecms:TransactionID>TestTransId</ecms:TransactionID>
    </ser:request>
   </ser:MyServiceName>
</soapenv:Body>

这是我的请求看起来像

我现在有什么

    <soap:Body>
   ***<xsns:MyServiceName xmlns:xsns="http://example.com/ecms/services"        xmlns="http://example.com/ecms/services">***
     <ser:request>
        <ecms:serviceId>123456789</ecms:serviceId>
        <ecms:TransactionID>TestTransId</ecms:TransactionID>
      </ser:request>
   </xsns:MyServiceName>
 </soap:Body>

我的问题是如何编辑/更正元素

    "<xsns:MyServiceName xmlns:xsns="http://example.com/ecms/services"        xmlns="http://example.com/ecms/services">"

    <ser:MyServiceName>

如上面预期的SOAP请求所示。

这是我的代码

    var args = {"ser:request":{"ecms:serviceId”:”123456789”,   "ecms:TransactionID":"TestTransId"}};
    soap.createClient(url, function(err, client) {

      client.MyServiceName(args, function(err, result, raw, soapHeaders) {
        console.log('LAST REQUEST ');
        console.log(client.lastRequest);
        console.log(result);
      });
     });

我确信这与选项有关,但我无法弄明白。 我尝试使用这样的选项,但它没有解决问题。

     var options = {
              ignoredNamespaces: true
            };

任何想法,建议都将不胜感激。

以下是此服务的wsdl的外观

    <wsdl:message name="IServiceRequest_MyServiceName_InputMessage">
    <wsdl:part xmlns:xsns="http://example.com/ecms/services"   name="parameters" element="xsns:MyServiceName"/>
    </wsdl:message>

0 个答案:

没有答案