在文档中,属性CONTENT_TYPE为:
In situations where the ESB is receiving HTTP response messages without the Content-type header, this property can be used to specify a default content type to be used. If no such content type is specified for responses the ESB will default to 'application/octet-stream'.
我有一个没有Content-type的HTTP测试服务响应消息,因此我在ESB config中设置了属性CONTENT_TYPE =“text / plain”。答复是:
<axis2ns3:binary xmlns:axis2ns3="http://ws.apache.org/commons/ns/payload">UmV0dXJuQ29kZT0wMDAwMDANCg==</axis2ns3:binary>
如果我在HTTP测试服务中添加resp.setContentType("text/plain")
,则响应为:
<text xmlns="http://ws.apache.org/commons/ns/payload">ReturnCode=000000</text>
上面的似乎属性CONTENT_TYPE设置没有用,仍默认为'application / octet-stream'。
我有一个没有Content-type标头的HTTP服务,然后响应消息是二进制的。如何设置响应CONTENT_TYPE =“text / plain”?有人可以帮帮我吗?非常感谢。
答案 0 :(得分:0)
将以下行添加到axis2.xml中的messageFormatters($ ESB_HOME / repository / conf / axis2 / axis2.xml)
<messageFormatter contentType="text/plain" class="org.apache.axis2.format.PlainTextFormatter"/>
然后,您可以使用属性介体更改内容类型,如下所示:
<property name="messageType" value="text/plain" scope="axis2"/>