我有一个代理服务,其中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 - > WSO2 ESB API - >我的代理服务 .
在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 回答
根据有效负载相同的细节,您可以调查4.9.0和5.0.0包的标头之间是否存在某些差异导致此问题 .
为此,您可以尝试为synapse http传输启用线路日志
[esbhome] /repository/conf/log4j.properties文件 .
取消注释log4j.logger.org.apache.synapse.transport.http.wire = DEBUG
重启服务器 .