#rest #soap #wso2 #wso2esb #wso2ei
#rest #soap #wso2 #wso2-enterprise-integrator #wso2-esb
Вопрос:
Я использовал следующий код для отправки сообщения x-www-form-urlencoded на поддерживаемый сервер.
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="FormDataReceiver">
<http uri-template="http://www.eaipatterns.com/MessageEndpoint.html" method="post">
<suspendOnFailure>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay>
</markForSuspension>
</http>
</endpoint>
Также используется следующий код API.
<api xmlns="http://ws.apache.org/ns/synapse" name="FORM" context="/Service">
<resource methods="POST">
<inSequence>
<log level="full"></log>
<property name="name" value="Mark" scope="default" type="STRING"></property>
<property name="company" value="wso2" scope="default" type="STRING"></property>
<property name="country" value="US" scope="default" type="STRING"></property>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<root xmlns="">
<name>$1</name>
<company>$2</company>
<country>$3</country>
</root>
</soapenv:Body>
</soapenv:Envelope>
</format>
<args>
<arg evaluator="xml" expression="$ctx:name"></arg>
<arg evaluator="xml" expression="$ctx:company"></arg>
<arg evaluator="xml" expression="$ctx:country"></arg>
</args>
</payloadFactory>
<log level="full"></log>
<property name="messageType" value="application/x-www-form-urlencoded" scope="axis2" type="STRING"></property>
<property name="DISABLE_CHUNKING" value="true" scope="axis2" type="STRING"></property>
<call>
<endpoint key="FormDataReceiver"></endpoint>
</call>
<respond></respond>
</inSequence>
</resource>
</api>
Но все равно это сообщение отправляется как способ вызова rest.
Я хочу что-то вроде следующего тела сообщения на резервный сервер. Это примерное сообщение должно быть отправлено через тело сообщения. Здесь я использовал приведенный пример WSO2. Я добавил ту же ссылку на wso2esb для вашего дальнейшего ознакомления. wso2. На самом деле мне нужно отправить сообщение XML= {{my_xml_message_here}}. Пожалуйста, помогите мне продолжить это. Большое спасибо.
name=Markamp;company=wso2
Комментарии:
1. Какую версию ESB вы используете? 4.8.1? Кроме того, какова точная полезная нагрузка, исходящая из ESB?
2. Версия ESB — wso2ei-6.4.0
Ответ №1:
Content-Type
В заголовке для этого типа запроса отсутствует. Необходимо добавить:
<header name="Content-Type" scope="transport" value="application/x-www-form-urlencoded"/>