Я пытаюсь открыть SOAP-сервер как REST API с помощью wso2 ESB. Я использую фабрику полезных данных для отправки сообщения тела мыла, но это не работает.Сообщения SOAP не отправляются с использованием wso2 ESB REST API
Это мой API ресурс в WSO2 код ESB:
<?xml version="1.0" encoding="UTF-8"?>
<api context="/akademik" name="SampleAPI" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="GET" uri-template="/students?symbol={symbol}">
<inSequence>
<log level="custom">
<property expression="$url:symbol" name="symbol"/>
</log>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:sem="http://semogabisa.te.net/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<sem:sayHi>
<arg0>$1</arg0>
</sem:sayHi>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="$url:symbol"/>
</args>
</payloadFactory>
<header scope="default">
<m:complexHeader xmlns:m="http://org.synapse.example">
<m:property key="Content-Type" value="application/xml"/>
</m:complexHeader>
</header>
<send>
<endpoint>
<address format="soap11" uri="http://localhost:8084/HelloWorld"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence/>
</resource>
сообщения Soap не отправляется на веб-службу бэкэнда, это говорит нуль.
Я проверить службу бэкэнда с SoapUI с таким же форматом мыла конверт и он работает
где именно эти два объекта недвижимости? –
@LyanDwiPangestu перед отправкой в «inSequence» – James
Я отредактировал его, как вы сказали, и включите synapse.transport.http.wire как DEBUG и обнаружил, что wso2 добавил некоторое пространство имен xml в параметр 'arg0'. он становится таким, как это ' Foobar soapenv: Body> soapenv: Envelope > ' –