Я использую модуль мыла, как определено в https://github.com/vpulim/node-soap, для генерации клиента.
это в основном мой клиентский код
var soap = require('soap');
var url = 'http://example.com/wsdl?wsdl';
var args = {name: 'value'};
soap.createClient(url, function(err, client) {
client.MyFunction(args, function(err, result) {
console.log(result);
});
});
У меня проблема с использованием аргументов.
как создать аргументы, чтобы выполнить такой запрос мыла с помощью мыльного интерфейса. а как насчет минорверсии, мажорной версии? как добавить пространство имен v1 перед каждым параметром? я думал, что он был построен автоматически.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsdl="http://xxxx/wsdl" xmlns:v1="http://uri.etsi.org/TS102204/v1.1.2#">
<soap:Body>
<wsdl:MSS_Signature>
<MSS_SignatureReq MajorVersion="1" MinorVersion="1" MessagingMode="synch">
<v1:AP_Info AP_ID="xxx" AP_TransID="cc" AP_PWD="yyy" Instant="2018-04-13T11:53:15.384+02:00"/>
<v1:MobileUser>
<v1:MSISDN>+xxxxx</v1:MSISDN>
</v1:MobileUser>
<v1:DataToBeSigned MimeType="?" Encoding="?">"text_blabla"</v1:DataToBeSigned>
<v1:SignatureProfile>
<v1:mssURI>xxx</v1:mssURI>
</v1:SignatureProfile>
</MSS_SignatureReq>
</wsdl:MSS_Signature>
</soap:Body>
</soap:Envelope>
В настоящее время я могу выполнить этот ужасный запрос на мыло только вдали от целевого запроса с soapui, и он с тем же wsdl
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<soap:Body>
<undefined:MSS_Signature>
<MessagingMode>xx</MessagingMode>
<AP_ID>xx</AP_ID>
<AP_PWD>xx</AP_PWD>
<AP_TransID>xx</AP_TransID>
<Instant>2018-05-01T09:00:00</Instant>
<MSISDN>+xx</MSISDN>
<DataToBeSigned>xxx</DataToBeSigned>
<SignatureProfile>xxx</SignatureProfile>
</undefined:MSS_Signature>
</soap:Body>
</soap:Envelope>
Большое спасибо заранее