php – 调用fedex服务时Nodejs Soap模块的问题
发布时间:2020-05-25 09:37:53 所属栏目:PHP 来源:互联网
导读:我正在使用nodejs soap模块来调用fedex服务,但是得到一个错误: { HighestSeverity: ERROR, Notifications: [ { Severity: ERROR, Source: prof, Code: 1000, Mes
|
我正在使用nodejs soap模块来调用fedex服务,但是得到一个错误: {
"HighestSeverity": "ERROR","Notifications": [
{
"Severity": "ERROR","Source": "prof","Code": "1000","Message": "Authentication Failed"
}
],"Version": {
"ServiceId": {},"Major": {},"Intermediate": {},"Minor": {}
}
}
下面是我的nodejs代码: var data = {};
data["WebAuthenticationDetail"] = {
"UserCredential": {
"Key": developer_key,//getProperty('key');
"Password": password
}
};
//console.log(JSON.stringify(data));
data['ClientDetail'] = {
'AccountNumber': account_number,//getProperty('shipaccount');
'MeterNumber': meter_number//getProperty('meter');
};
data['Version'] = {
'ServiceId': 'crs','Major': 14,'Intermediate': 0,'Minor': 0
};
var soap = require('soap');
var path = require('path');
var path_to_wsdl = path.resolve(__dirname + '/wsdl/RateService_v14.wsdl');
soap.createClient(path_to_wsdl,function (err,client) {
if (err)throw err;
client.getRates(data,result) {
if (err)throw err;
res.send(result);
});
});
但是当我发送这个数据在PHP下面一个,那么它的工作. $path_to_wsdl = "wsdl-testing/RateService_v14.wsdl";
ini_set("soap.wsdl_cache_enabled","0");
$client = new SoapClient($path_to_wsdl /*,array('trace' => 1) */);
$request['WebAuthenticationDetail'] = array(
'UserCredential' => array(
'Key' => $developer_key,'Password' => $password
) );
$request['ClientDetail'] = array(
'AccountNumber' => $account_number,'MeterNumber' => $meter_number,);
$request['Version'] = array(
'ServiceId' => 'crs','Major' => '14','Intermediate' => '0','Minor' => '0');
$response = $client -> getRates($request);
Logger::info('here is the response====',$response);
相同的代码在php中工作,但不在Nodej中.请让我知道问题在哪里? 我的猜测是,您正在使用PHP中的测试网址,但在node.js.中的实时网址.在您的PHP代码中,您可以使用wsdl-test /,并在您的node.js代码中使用wsdl /.如果您确实在PHP中使用测试的WSDL文件,那么我认为您最终会在https://wsbeta.fedex.com:443/web-services/rate中解析,而在node.js中您正在解析为https ://ws.fedex.com:443 / web-services / rate你可能还没有现场访问.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
