WSO2端点格式

时间:2016-01-04 21:04:01

标签: wso2 endpoint

对于WSO2来说是新手,但是在我对wso2代理中的某些xslt中介进行破解之前,尝试做一些相对简单的事情,即使对于那些没有经验的人来说也是如此。

我尝试做的第一步是改变wso2客户端(jms)和端点(http)之间的传输。客户端正在JMS有效负载中发送完整的soap信封。 我可以看到我的端点正在从服务器日志中调用(但我可以看到请求被拒绝)。 果然,我可以从代理日志中看到WSO2正在从客户端围绕soap有效负载添加额外的SOAP信封包装。

我的理解是,通过将端点的format属性设置为"保持原样",这应该是可纠正的。然而,这并没有什么不同。我怀疑这是一个简单的端点或代理配置修复,而不是需要一些xsl中介?任何guidnace感激地收到:

我的代码:

端点:

    <endpoint xmlns="http://ws.apache.org/ns/synapse">
   <address uri="http://d26li228.au.alcatel-lucent.com:44006/ilws/InstantLinkSOA">
      <suspendOnFailure>
         <progressionFactor>1.0</progressionFactor>
      </suspendOnFailure>
      <markForSuspension>
         <retriesBeforeSuspension>0</retriesBeforeSuspension>
         <retryDelay>0</retryDelay>
      </markForSuspension>
   </address>
</endpoint>

代理:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="McProxy3"
       transports="McJMS"
       statistics="disable"
       trace="enable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <property name="OUT_ONLY" value="true"/>
         <send>
            <endpoint key="conf:/ilepr"/>
         </send>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <parameter name="transport.jms.Destination">McQueue</parameter>
   <description/>
</proxy>

1 个答案:

答案 0 :(得分:0)

设置从JMS接收的消息的内容类型:如果已经有SOAP信封,则为text / xml:

<parameter name="transport.jms.ContentType">
    <rules xmlns="">
        <jmsProperty>contentType</jmsProperty>
        <default>text/xml</default>
    </rules>
</parameter>

如果您通过终端呼叫的服务等待soap11或soap12,您可以在端点定义中设置此格式(不要让“保持原样”)

在通过终端发送消息之前,你已经在inSequence中将OUT_ONLY定义为true:ESB不会实现任何回调,也不会收到任何响应(outSequence永远不会被执行)