在wsO2 ESB上将SOAP请求转换为HTTP 200返回

时间:2015-02-17 23:57:36

标签: wso2 wso2esb

我有一个实例,我需要实现一个接收SOAP消息的代理服务,将其转发到内部系统(SOAP)并返回到原始服务器的HTTP 200响应。 基本上响应应该完全没有任何soap细节(在WSDL中我必须实现技术上没有输出消息)。
这是我到目前为止所做的事情(只是将请求和回声作为回应):

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
   name="ExampleHttp200Return"
   transports="http"
   statistics="disable"
   trace="disable"
   startOnLoad="true">
   <target>
      <inSequence>
         <log level="full" separator=", - inSequence: received - "/>
         <header name="To" action="remove"/>
         <property name="RESPONSE" value="true" scope="default" type="STRING"/>
         <property name="SC_ACCEPTED" value="false" scope="axis2"/>
         <property name="HTTP_SC" value="200" scope="axis2"/>
         <send/>
      </inSequence>
   </target>
   <description/>
</proxy>

1 个答案:

答案 0 :(得分:0)

如果要发回空响应,可以在发送中介之前添加:

<property name="messageType" scope="axis2" value="text/plain"/>
<enrich>
    <source type="inline">
        <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
            <soapenv:Header/>
            <soapenv:Body>
               <text xmlns="http://ws.apache.org/commons/ns/payload"/>
            </soapenv:Body>
        </soapenv:Envelope>
    </source>
    <target type="envelope"/>
</enrich>