Java Spring集成http出站网关POST响应不包含转义符号和
收到的原始POST响应包含如下XML,其中包含转义符和Java Spring集成http出站网关POST响应不包含转义符号和,java,xml,spring,spring-integration,Java,Xml,Spring,Spring Integration,收到的原始POST响应包含如下XML,其中包含转义符和& <Order>test&test</Order> 我想知道在上面的配置中是否遗漏了什么。是什么原因导致&在我从POST响应中提取的有效负载中自动转换为& 我注意到的另一件有趣的事情是,如果服务器端正在发送符号示例testtest,那么我接收到的也是相同的,即testtesttest;但是如果服务器同时发回和&一起示例testtest&;test我收到的是test>test&
&代码>
<Order>test&test</Order>
我想知道在上面的配置中是否遗漏了什么。是什么原因导致&代码>在我从POST响应中提取的有效负载中自动转换为&
我注意到的另一件有趣的事情是,如果服务器端正在发送
符号示例testtest
,那么我接收到的也是相同的,即testtesttest
;但是如果服务器同时发回
和&代码>一起示例testtest&;test
我收到的是test>test&test
如果您查看网络跟踪,我想您会发现这是在服务器端发生的
您可能需要发送&;amp代码>你好,加里。我已经使用wireshark查看了网络日志,我可以看到&;正在从服务器端返回。我也从客户端确认了这一点。我认为服务器端不应该发送&;amp;如果服务器端正在发送>符号,则应用程序正在接收自身。我原以为它对&;同样抱歉-误读了问题-我以为你说的是出站&代码>被服务器作为&
接收。然而,我刚刚运行了一个测试,它对我来说运行良好-从另一端跟踪&代码>,收到<代码>++++回复:来自另一边&++++++++++++代码>。您使用的是哪个版本的spring/spring integration?我使用的是3.0.7.RELEASE for spring integration http和spring integration ws版本。我进一步查看了网络日志,在http POST响应标题中找到了以下内容:传输编码:分块内容类型:text/plain;charset=iso-8859-1我想知道是否正是因为上面的charset,才出现了与和;通过spring集成后解码到(&D)?您是否在回复中测试了上述标题,还是使用UTF-8?
<Order>test&test</Order>
<int:chain input-channel="requestChannel">
<int-http:outbound-gateway url="http://example.com"
http-method="POST"
expected-response-type="java.lang.String"
request-factory="requestFactory"
charset="UTF-8"
/>
</int:chain>
<bean id="requestFactory"
class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="connectTimeout" value="10000"/>
<property name="readTimeout" value="10000"/>
</bean>