node.js - NODEJS SOAP:对象引用未设置为对象的实例
问题描述
我收到一个错误:
你调用的对象是空的
我在请求中遗漏了一些东西,但无法弄清楚。任何帮助表示赞赏。
我尝试使用soap模块和strong-soap模块,但两者都发生了同样的错误。所以这可能是请求参数中的错误。
你调用的对象是空的
代码:
"use strict";
var soap = require('strong-soap').soap;
var url = 'http://test.eprabhu.com/Api/Utility.svc?wsdl&UserName=CLIENT';
var requestArgs = {
'UserName': 'CLIENT',
'Password': 'CLIENT12',
'OperatorCode': 2,
'MobileNumber': '9803111111',
'Amount': 100,
'PartnerTxnId': 'P201904220218335187'
};
var options = {
'user-agent': 'sampleTest',
'Content-Type': 'text/xml;charset=UTF-8',
// 'soapAction': 'http://test.eprabhu.com/Api/Utility.svc?wsdl#MobileTopup',
'soapAction': 'http://tempuri.org/IUtility/MobileTopup'
};
soap.createClient(url, options, function(err, client) {
var method = client['MobileTopup'];
method(requestArgs, function(err, result, envelope, soapHeader) {
//response envelope
console.log('Response Envelope: \n' + envelope);
//'result' is the response body
console.log('Result: \n' + JSON.stringify(result));
console.log('Soap Header: \n', soapHeader);
});
});
任何帮助将不胜感激。谢谢
解决方案
将您的参数更改为:
var requestArgs = {
MobileTopupRequest: {
UserName: 'CLIENT',
Password: 'CLIENT12',
OperatorCode: 2,
MobileNumber: '9803111111',
Amount: 1,
PartnerTxnId: 'P201904220218335187'
}
};
推荐阅读
- c# - 如果页面未显示在框架中,WPF Visualbrush 不会更新
- java - 无法将 Log4j2 AsyncAppender 与 log4j2.properties 一起使用
- javascript - 根据文件名获取附加的formData文件索引
- powershell - 为什么即使打开 -ErrorAction Stop,我的 try catch 错误也会成功传递?
- python - 如何通过 python 连接以太网连接的相机(Flir AX8 相机)
- python - 如何转换 pandas Dataframe 中列的值?
- html - HTML 创建一个等大小的方形网格图片系统
- ios - Facebook 似乎随机出现在我的项目中
- swiftui - SwiftUI 动画列表行的展开和折叠
- php - 由于 CORS“Access-Control-Allow-Origin”不存在,phpCAS 注销失败