Основная часть SOAP - это WSDL.С его помощью вы можете генерировать клиентов для вызова служб.
Для основного тега wsdl вы можете обратиться к w3cshool
Начиная с этого
<wsdl:operation name="GetMessage">
<wsdl:input message="tns:GetMessageRequest" name="GetMessageRequest"> </wsdl:input>
<wsdl:output message="tns:GetMessageResponse" name="GetMessageResponse"> </wsdl:output>
<wsdl:fault message="tns:AuthenticationException" name="AuthenticationException"> </wsdl:fault>
</wsdl:operation>
Это функция, которую вы можете вызвать, и вы увидите, какой запрос он принимает, каков формат ответа и формат ошибки.Простой xsd в type
описывает формат каждого сообщения.
Для вашего случая этот фрагмент является хорошим началом:
const soap = require('soap');
const url = 'https://openapi.nalog.ru:8090/open-api/AuthService/0.1?wsdl';
const args = {
GetMessageRequest:
{ Message: { AuthRequest: { AuthAppInfo: { MasterToken: 'TOKEN' } } } }
};
soap.createClient(url, function (err, client) {
console.log(JSON.stringify(client.describe(), null, 2));
client.GetMessage(args, function (err, result) {
console.log(result);
});
});
Он создает этот запрос:
<?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"
xmlns:tns="urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiMessageConsumerService/1.0"
xmlns:ns1="urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiMessageConsumerService/types/1.0">
<soap:Body>
<ns1:GetMessageRequest
xmlns:ns1="urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiMessageConsumerService/types/1.0"
xmlns="urn://x-artefacts-gnivc-ru/inplat/servin/OpenApiMessageConsumerService/types/1.0">
<ns1:GetMessageRequest>
<ns1:Message>
<ns1:AuthRequest>
<ns1:AuthAppInfo>
<ns1:MasterToken>TOKEN</ns1:MasterToken>
</ns1:AuthAppInfo>
</ns1:AuthRequest>
</ns1:Message>
</ns1:GetMessageRequest>
</ns1:GetMessageRequest>
</soap:Body>
</soap:Envelope>
ОБРАТИТЕ ВНИМАНИЕ, что пространство имен для AuthRequest
должно быть зафиксировано на urn://x-artefacts-gnivc-ru/ais3/kkt/AuthService/types/1.0