从WSO2代理中删除soap信封

时间:2013-04-29 18:32:12

标签: xml soap wso2 sequence wso2esb

默认情况下,来自WSO2代理服务的每个出站邮件都由soap信封包装。

是否有可能通过配置删除它? 我希望来自代理服务的转换消息没有SOAP信封。

我不想写另一个类来处理这个问题。

    <proxy xmlns="http://ws.apache.org/ns/synapse" name="risresult" transports="https,http,jms" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
         <property name="ContentType" value="text/plain" scope="default" type="STRING"/>
         <class name="com.test.guru.HL7RISPrescription"/>
         <property name="RESPONSE" value="true"/>
         <header name="To" action="remove"/>
            <send>
                <endpoint>
                    <address uri="jms:/prescription?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616" format="pox" />
                </endpoint>
            </send>
      </inSequence>
      <outSequence>
         <drop/>
      </outSequence>
      <faultSequence/>
   </target>
   <parameter name="transport.jms.ContentType">
      <rules>                           
         <jmsProperty>contentType</jmsProperty>                           
         <default>application/xml</default>                  
      </rules>
   </parameter>
   <description></description>
</proxy>

此致 领袖 @gnanagurus

2 个答案:

答案 0 :(得分:0)

您可以使用

  format="pox" 

将XML发送到端点请参阅以下博客文章了解更多详情。

http://charithaka.blogspot.com/2010/07/message-format-transformations-with.html

答案 1 :(得分:0)

您需要在send mediator上方添加以下属性,以从邮件中删除soap信封。

<property name="messageType" value="application/xml" scope="axis2" type="STRING"/>

我使用以下示例代理对其进行了测试,它对我有用。

<?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="test"
           transports="https,http"
           statistics="disable"
           trace="disable"
           startOnLoad="true">
       <target>
          <inSequence>

             <property name="messageType"
                       value="application/xml"
                       scope="axis2"
                       type="STRING"/>
             <log level="full"/>
             <send>
                <endpoint>
                   <address uri="http://www.google.com"/>
                </endpoint>
             </send>
          </inSequence>
       </target>
       <description/>
    </proxy>