Tôi đang sử dụng mô-đun xà phòng nodejs để gọi dịch vụ fedex nhưng nhận được một lỗi:Issue với module Nodejs Xà phòng khi gọi dịch vụ fedex
{
"HighestSeverity": "ERROR",
"Notifications": [
{
"Severity": "ERROR",
"Source": "prof",
"Code": "1000",
"Message": "Authentication Failed"
}
],
"Version": {
"ServiceId": {},
"Major": {},
"Intermediate": {},
"Minor": {}
}
}
Dưới đây là mã nodejs tôi:
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, function (err, result) {
if (err)throw err;
res.send(result);
});
});
Nhưng khi tôi đang gửi dữ liệu này với php bên dưới một sau đó nó làm việc.
$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);
Mã giống nhau đang hoạt động trong php chứ không phải trong Nodej. Vui lòng cho tôi biết vấn đề ở đâu?
bạn có câu trả lời không? Tôi đang gặp vấn đề tương tự với Magento ... nhận được phản hồi tương tự .. –
Đây là vấn đề với Fedex. Fedex không phân tích cú pháp dữ liệu vào cuối của nó. Bây giờ tôi đang gửi dữ liệu ở định dạng giống như được bao gồm trong các tệp mã mẫu. – Rohit
Tôi sẽ sử dụng một công cụ như fiddler (http://www.telerik.com/fiddler) có thể xem lưu lượng truy cập khi nó đi qua dây. Có lẽ một số tiêu đề hoặc một cái gì đó mà không được thiết lập rõ ràng trong nodejs, nhưng là thông qua php. –