首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node-soap:找不到分发方法

node-soap:找不到分发方法
EN

Stack Overflow用户
提问于 2016-11-08 02:27:12
回答 1查看 524关注 0票数 0

尝试使用节点soap调用web服务不起作用,但如果它在SoapUI中起作用

代码语言:javascript
复制
var soap = require('soap');
var url = 'http://190.129.208.178:96/PasarelaServices/CustomerServices?wsdl';
var args = { "key": '12345', "parametros": 'parameters...' };
soap.createClient(url, function (err, client) {
  console.log(client.describe());
  console.log(client.describe().CustomerServices.CustomerServicesPort.solicitarPago);
  client.CustomerServices.CustomerServicesPort.solicitarPago(args, function (err, result, raw, soapHeader) {
    console.log(err);
    console.log(result)
    console.log(raw);
  });
});

在SoapUI请求中:

代码语言:javascript
复制
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.vlink.com.bo/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:solicitarPago>
         <key>12345</key>
         <parametros>parameters...</parametros>
      </ser:solicitarPago>
   </soapenv:Body>
</soapenv:Envelope>

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-11-08 23:40:45

可以通过以下方法解决:

代码语言:javascript
复制
var soap = require('soap');
var url = 'http://190.129.208.178:96/PasarelaServices/CustomerServices?wsdl';
var wsdlOptions = {
  "overrideRootElement": {
    "namespace": "ser",
    "xmlnsAttributes": [{ "name": "xmlns:ser", "value": "http://services.vlink.com.bo/" }]
  }
};
var args = { "key": '12345', "parametros": 'parameters...' };
soap.createClient(url, wsdlOptions, function (err, client) {
  client.solicitarPago(args, function (err, result, raw, soapHeader) {
    console.log(result);
  });
});

问题是:必须用wsdlOptions建立前缀"ser“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40472018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档