Когда я отправляю JSON в прокси-службу wso2, которая преобразует входящий запрос в XML
с помощью Payload Mediator.
это дает мне ошибку ниже:
{
"Envelope": {
"Body": {
"Fault": {
"faultcode": "S:Client",
"faultstring": "Couldn't create SOAP message due to exception: unexpected XML tag. expected: {http://schemas.xmlsoap.org/soap/envelope/}Envelope but found: {http://fcubs.ofss.com/service/FCUBSCcyService}RATESMASTERQUERY_IOFS_REQ"
}
}
}
}
Это мой отправляющий запрос:
{
"Parameter": {
"brncode": "CHO",
"ccy1": "USD",
"ccy2": "MNT"
}
}
Это мой сервисный код прокси:
Получение Json и отправка XML в конечную точку
<inSequence>
<log category="DEBUG" level="full" separator="
">
<property name="Request" value="=============Request============"/>
<property expression="json-eval($)" name="Request"/>
</log>
это посредник полезной нагрузки, который преобразует Json в XML и отправляется на конечную точку
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="http://fcubs.ofss.com/service/FCUBSCcyService">
<soapenv:Body>
<RATESMASTERQUERY_IOFS_REQ>
<FCUBS_HEADER>
<SOURCE>$1</SOURCE>
<UBSCOMP>$2</UBSCOMP>
<USERID>$3</USERID>
<BRANCH>$4</BRANCH>
<SERVICE>FCUBSCcyService</SERVICE>
<OPERATION>$5</OPERATION>
</FCUBS_HEADER>
<FCUBS_BODY>
<Rates-Master-IO>
<BRNCODE>$4</BRNCODE>
<CCY1>$6</CCY1>
<CCY2>$7</CCY2>
</Rates-Master-IO>
</FCUBS_BODY>
</RATESMASTERQUERY_IOFS_REQ>
</soapenv:Body>
</soapenv:Envelope>
</format>
enter code here
<args>
<arg evaluator="xml" expression="$trp:Source"/>
<arg value="FCUBS"/>
<arg evaluator="xml" expression="$trp:userid"/>
<arg evaluator="xml" expression="ctx:brncode"/>
<arg evaluator="xml" expression="$trp:function"/>
<arg evaluator="xml" expression="ctx:ccy1"/>
<arg evaluator="xml" expression="ctx:ccy2"/>
</args>
</payloadFactory>
<header name="Accept" scope="transport" value="text/xml"/>
<property name="messageType" scope="axis2" value="text/xml"/>
</inSequence>
OutSequence:
<outSequence>
<log category="DEBUG" separator="
">
<property name="Response" value="=============Response============"/>
<property expression="json-eval($)" name="Response"/>
</log>
<property name="messageType" scope="axis2" value="application/json"/>
<send/>
</outSequence>
Как правильно работать?
Спасибо