マイSpring統合の設定ファイル持つは<INT-のhttp:アウトバウンド・ゲートウェイ>は、メッセージのコンバータを使用する方法
<int-http:outbound-gateway request-channel="loadToFtpChannel"
url="http://localhost:8107/ftpService/processFTP"
http-method="POST" message-converters="ftpMessgaeConverter"
expected-response-type="java.lang.String">
</int-http:outbound-gateway>
<bean id="ftpMessgaeConverter" class="com.ftp.FTPMessgaeConverter" ></bean>
と
FTPMessageConverter
クラス
public class FTPMessgaeConverter implements HttpMessageConverter<JSONObject> {
private static final List<MediaType> MEDIA_TYPES = new ArrayList<MediaType>();
static {
MEDIA_TYPES.add(MediaType.parseMediaType("application/json"));
}
@Override
public boolean canRead(Class<?> clazz, MediaType mediaType) {
// TODO Auto-generated method stub
return String.class.equals(clazz);
}
@Override
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
// TODO Auto-generated method stub
return false;
}
@Override
public List<MediaType> getSupportedMediaTypes() {
// TODO Auto-generated method stub
return MEDIA_TYPES;
}
@Override
public JSONObject read(Class<? extends JSONObject> clazz, HttpInputMessage inputMessage)
throws IOException, HttpMessageNotReadableException {
JSONObject body = null;
try {
body = new JSONObject(inputMessage.getBody().toString());
} catch (JSONException e) {
e.printStackTrace();
}
return body;
}
@Override
public void write(JSONObject t, MediaType contentType, HttpOutputMessage outputMessage)
throws IOException, HttpMessageNotWritableException {
System.out.println("outputMessage " + outputMessage.getBody());
System.out.println("JSONObject " + t);
System.out.println("contentType " + contentType);
}
その投げ春の統合の属性エラー
org.springframework.web.client.RestClientException: Could not write request: no suitable HttpMessageConverter found for request type [org.json.JSONObject] and content type [application/json]
でrequest-channel="loadToFtpChannel"
私はJson形式でメッセージを取得しています。このメッセージでは、発信元と宛先を
<int-http:inbound-gateway>
に準備しなければなりません。そして、受信ゲートウェイは要求を処理した後、応答を送信ゲートウェイメッセージをmessage-converters="ftpMessgaeConverter"
まで読んでください。 誰でもこれを助けることができます。
@Override
public boolean canWrite(Class<?> clazz, MediaType mediaType) {
// TODO Auto-generated method stub
return false;
}
このHttpMessageConverter
がですべての要求を送信するには適していませんと言う:ありがとう
私はスパムを停止します。あなたはより多くの情報であなたの質問を編集することができます。適切な書式を使用してください。さもなければコメントのここのコードは読めません。あなたを助けるために私の時間を尊重してください。 –
ありがとうございます、変換されて選択され、それは正常に動作します。 – meps