spring-集成 http 出站网关不支持像 é 这样的法语字符
French characters like é not supported in spring-integration http outbound gateway
我正在尝试从 http 出站发送此字符串“de caisse a été enregistr***é***”gateway.This 字符串包含法语字符( é). 我收到一个错误,响应代码为 400(错误请求)
但是,当我从 rest easy 客户端框架尝试相同的操作时,我得到了成功代码 (200)。
我的 spring 集成配置中是否缺少某些内容。 ?
共享配置
<int-http:outbound-gateway id="xtifygateway"
request-channel="xtifyrequestchannel" request-factory="requestFactory"
url="${xtifyUrl}" http-method="POST">
</int-http:outbound-gateway>
<int:header-enricher input-channel="requestchannel"
output-channel="xtifyrequestchannel">
<int:header
name="Content-Type"
value="application/json"/>
</int:header-enricher
<bean id="requestFactory"
class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="connectTimeout" value="${timeout}" />
<property name="readTimeout" value="${timeout}" />
</bean>
您应该尝试设置字符集
<int-http:outbound-gateway id="xtifygateway"
request-channel="xtifyrequestchannel" request-factory="requestFactory" charset="UTF-8"
url="${xtifyUrl}" http-method="POST">
</int-http:outbound-gateway>
在 java 代码中将字符集从 UTF-8 更改为 ISO-8859-1 解决了问题。
try
{
message= new String(message.getBytes("UTF-8"),"ISO-8859-1");
}
catch (UnsupportedEncodingException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
我正在尝试从 http 出站发送此字符串“de caisse a été enregistr***é***”gateway.This 字符串包含法语字符( é). 我收到一个错误,响应代码为 400(错误请求)
但是,当我从 rest easy 客户端框架尝试相同的操作时,我得到了成功代码 (200)。
我的 spring 集成配置中是否缺少某些内容。 ?
共享配置
<int-http:outbound-gateway id="xtifygateway"
request-channel="xtifyrequestchannel" request-factory="requestFactory"
url="${xtifyUrl}" http-method="POST">
</int-http:outbound-gateway>
<int:header-enricher input-channel="requestchannel"
output-channel="xtifyrequestchannel">
<int:header
name="Content-Type"
value="application/json"/>
</int:header-enricher
<bean id="requestFactory"
class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="connectTimeout" value="${timeout}" />
<property name="readTimeout" value="${timeout}" />
</bean>
您应该尝试设置字符集
<int-http:outbound-gateway id="xtifygateway"
request-channel="xtifyrequestchannel" request-factory="requestFactory" charset="UTF-8"
url="${xtifyUrl}" http-method="POST">
</int-http:outbound-gateway>
在 java 代码中将字符集从 UTF-8 更改为 ISO-8859-1 解决了问题。
try
{
message= new String(message.getBytes("UTF-8"),"ISO-8859-1");
}
catch (UnsupportedEncodingException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}