【问题标题】:Modifying SOAP Envelope XML Before Making request在发出请求之前修改 SOAP 信封 XML
【发布时间】:2015-02-04 10:55:02
【问题描述】:

我一直在尝试使用 node-soap 连接到 Web 服务,但不断收到错误“无法读取未定义的属性 'Body'”。我认为问题在于node-soap生成的SOAP信封不正确,需要使用ns1而不是tns。请看PHP的SoapClient成功连接到web服务的信封和node-soap生成的信封如下:

PHP

    <SOAP-ENV:Body>
        <ns1:IsHealthy/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

节点SOAP

    <soap:Body>
        <tns:IsHealthy xmlns:tns="http://tempuri.org/" xmlns="http://tempuri.org/">
        </tns:IsHealthy>
    </soap:Body>
</soap:Envelope>

是否有设置告诉 node soap 使用 ns1 或在发送前修改信封的方法?

【问题讨论】:

    标签: node.js soap node-soap


    【解决方案1】:

    在创建客户端时,你可以传递参数:

    var options = {
       envelopeKey:'soapenv',
       xmlKey: 'sdm'
      };
    soap.createClient(url, options, function(err, client) {
    
    }
    

    Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多