Ошибка при использовании Soap API с Node JS - PullRequest
0 голосов
/ 10 марта 2019

Я реализовал SOAP API, используя PHP SoapClient , который прекрасно работает для меня

Ниже приведен рабочий код

$soapClient = new SoapClient('https://api4481.service.processPayment/Service_1_0.svc?wsdl');
$params = [
    'ClientInfo' => [
        'AccountNumber'      => 'A2342535',
        'AccountSalt'        => 'jdv89df',
        'UserName'           => 'akshay@test.com',
        'Password'           => 'Pay#123',
        'Version'            => '3.0'
    ],
    'Transaction' => [
        'Reference1'  => 'test',
        'Reference2'  => '',
        'Reference3'  => '',
        'Reference4'  => '',
        'Reference5'  => ''
    ]
];
try {
    $auth_call = $soapClient->processPayment($params);
    $result = json_decode(json_encode($auth_call), true);
} catch (SoapFault $fault) {
    die('Error : ' . $fault->faultstring);
}

Но когда я попробовал то же самое, используя Node Soap , я получаю следующее сообщение об ошибке:

The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter

Код узла JS:

const soap = require('soap')
let url = 'https://api4481.service.processPayment/Service_1_0.svc?wsdl';
let args = {
    "ClientInfo": {
        "UserName": "akshay@test.com",
        "Password": "Pay#123",
        "Version": "3.0",
        "AccountNumber": "A2342535",
        "AccountSalt": "jdv89df"
    },
    "Transaction": {
        "Reference1": "test",
        "Reference2": "",
        "Reference3": "",
        "Reference4": "",
        "Reference5": ""
    }
}
soap.createClient(url, function(err, client) {
    client.disableCache = true
    client.processPayment(args, function(err, result) {
        console.log(result);
    });
});

Я тоже пытался использовать Strong Soap, но все равно не смог заставить его работать.

Заранее спасибо !!!

...