Как я могу вызвать 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);
Другие вопросы по тегам