WSO2 ESB。 v.5.0.0和v.4.9.0之间的差异。内容类型text / xml和application / xml

时间:2016-09-01 11:57:10

标签: wso2 wso2esb wso2dss

我有一个代理服务,其中inSequence的代码如下:

... 
<property name="messageType"scope="axis2" type="STRING" value="text/xml"/>
<property name="ContentType" scope="axis2" type="STRING" value="text/xml"/>
<payloadFactory>
parameters for query ....
</payloadFactory>
...
<send>
 <endpoint>
  <http method="PUT" uri-template="some url in WSO2 DSS/>
 </endpoint>
</send>
...

我以两种方式使用此代理服务。

首先,按计划任务调用代理服务。

其次,通过以下方式呼叫代理服务: WSO2 API Manager - &gt; WSO2 ESB API - &gt;我的代理服务。

在WSO2 ESB 4.9.0中,所有工作都正常。

在WSO2中,ESB 5.0.0第二种方法正常,但在第一种方法中,我从WSO2 DSS收到错误:

DS Fault Message: Error in 'CallQuery.extractParams', cannot find parameter with type:query-param name:typeParam
DS Code: INCOMPATIBLE_PARAMETERS_ERROR

在这两种情况下,有效负载都是相同的。

因为我将text / xml更改为application / xml:

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

这两种方法都运作正常..

有趣的是什么原因?

我发现axis2.xml对text / xml和application / xml有不同的消息格式化程序,但是没有text / xml的消息构建器。是原因吗?

哪种行为是正确的:在v.4.9.0或v.5.0.0中?

1 个答案:

答案 0 :(得分:0)

根据有效负载相同的细节,您可以调查4.9.0和5.0.0包的标头之间是否存在某些差异导致此问题。

为此,您可以尝试启用synapse http transport

的线路日志
  1. [esbhome] /repository/conf/log4j.properties file。
  2. 取消注释log4j.logger.org.apache.synapse.transport.http.wire = DEBUG
  3. 重新启动服务器。