我有一个代理服务,其中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中?
答案 0 :(得分:0)
根据有效负载相同的细节,您可以调查4.9.0和5.0.0包的标头之间是否存在某些差异导致此问题。
为此,您可以尝试启用synapse http transport
的线路日志