Cal*_*sen 6 javascript soap object node.js
我刚刚开始使用NodeJS,并且正在使用milewise的node-soap与SOAP服务进行交流.我使用基本的电子邮件地址验证SOAP API作为我的测试用例.
我似乎不理解格式化参数列表的正确方法.
我的SOAP客户端代码:
var url = "http://www.restfulwebservices.net/wcf/EmailValidationService.svc?wsdl";
soap.createClient(url, function(err, client){
console.log(client.describe().EmailValidationService.BasicHttpBinding_IEmailValidationService.Validate);
client.Validate({result:"my@emailaddress.com"}, function(err, result){
console.log(result);
});
});
Run Code Online (Sandbox Code Playgroud)
client.describe()命令告诉我API如何格式化其输入,以及它将如何返回其输出.这就是说:
{ input: { 'request[]': 'xs:string' },
output: { 'ValidateResult[]': 'xs:boolean' } }
但是,当我将参数作为对象发送时: {request:"my@emailaddress.com"}
我觉得我的问题在于我如何定义参数对象......括号中的request[]
含义是什么?
小智 10
如果在请求参数上添加命名空间,它应该可以工作.这是一个示例代码.
var soap = require('soap');
var url = "http://www.restfulwebservices.net/wcf/EmailValidationService.svc?wsdl";
var args = {"tns:request":"my@emailaddress.com"};
soap.createClient(url, function(err, client){
client.EmailValidationService.BasicHttpBinding_IEmailValidationService.Validate(args, function(err, result){
if (err) throw err;
console.log(result);
});
});
Run Code Online (Sandbox Code Playgroud)
但是,它返回"访问被拒绝".
我使用soapUI来测试这个Web服务,它返回相同的结果.
我尝试其他网络服务,它的工作原理.
var soap = require('soap');
var url = "http://www.restfulwebservices.net/wcf/StockQuoteService.svc?wsdl";
var args = {"tns:request":"GOOG"};
soap.createClient(url, function(err, client){
client.StockQuoteService.BasicHttpBinding_IStockQuoteService.GetStockQuote(args, function(err, result){
if (err) throw err;
console.log(result);
});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16489 次 |
最近记录: |