【发布时间】:2016-09-01 11:57:09
【问题描述】:
我有一个代理服务,其中 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 管理器 -> 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 中?
【问题讨论】: