Как я могу вызвать SOAP-XML WS с Балериной
Я пытаюсь вызвать SOAP WS, используя Ballerina и http:ClientConnector, как я могу передать тело и параметры в метод POST?
1 ответ
Пожалуйста, ознакомьтесь с примером кода soapConnector.bal (версия 0.93)
Вы должны построить запрос XML полезной нагрузки, как это
xml soapRequest = xmls:parse("<soapenv:Envelope xmlns:soapenv=\"" + namespace + "\"></soapenv:Envelope>");
и установить полезную нагрузку вместе с заголовками для вызова конечной точки
message backendServiceReq ={};
string reqType = "application/soap+xml";
string soapDefinition;
soapDefinition, _ = (string) namespaceMap["1.2"];
messages:setXmlPayload(backendServiceReq, soapRequest);
messages:setHeader(backendServiceReq, "Content-Type", reqType);
if (soapAction != "null") {
messages:setHeader(backendServiceReq, "SOAPAction", soapAction);
}
message response = httpConnector.post(url, backendServiceReq);