2011-10-19 14 views
0

HTTP発信ゲートウェイのリクエストにカスタムヘッダーとして渡したいJavaオブジェクトがあります。下記のスニペットUserContextは、Javaオブジェクト春の統合 - http発信ゲートウェイのカスタムヘッダー

UserContext implements Serializable { 
    String userId; 
    RequestParameters params; 
    ScopeEnum scope; 
    .... 
} 

可能性があり

<int:gateway id="service" service-interface="MyService" default-request-channel="requestChannel" default-reply-channel="replyChannel"> 
    <int:method name="doSomething" payload-expression="#args[0] + ',' + #args[1]"> 
     <int:header name="method_name" value="login"/> 
     <int:header name="service_identifier" value="myService"/> 
     </int:method>     
</int:gateway> 

<int:header-enricher input-channel="requestChannel" output-channel="gatewayChannel"> 
     <int:header name="user_context" expression="T(UserContextHolder).getContext()"/> 
</int:header-enricher> 

<int-http:outbound-gateway request-channel="gatewayChannel" url="myURL" mapped-request-headers="user_context, service_identifier, method_name, HTTP_REQUEST_HEADERS" 
      http-method="POST" reply-channel="replyChannel"/> 

である私が持っている問題は、ヘッダuser_contextがヘッダーにマッピングされていないです。ログから、DefaultHttpHeaderMapperがConverterまたはConversionServiceを要求していることがわかります。下記を参照してください -

09:54:59,488 - WARN main  org.springframework.integration.http.support.DefaultHttpHeaderMapper - Header 'X- user_context' with value '[email protected]' will not be set since it is not a String  and no Converter is available. Consider registering a Converter with ConversionService  (e.g., <int:converter>) 

どうすればよろしいですか?

ありがとうございます!

答えて

0

標準のHTTPヘッダーはkey:value形式で、keyとvalueの両方が文字列です。 オブジェクトをHTTPヘッダー値として送信しようとしましたが、これはあまり賢明ではありません(ヘッダーのサイズにいくつかの制限がある可能性があるため、ほとんど不可能です - たとえば8KBのApacheデフォルト制限)。

あなたは3つのオプションがあります。それならば

  1. がHTTPアウトバウンドゲートウェイを使用していないを検討し、代わりに(私の意見では最高のものを)JMSを使用

  2. は(StringUserContextをシリアライズします変圧器を追加します。私はそれをお勧めしません)比較的短い文字列でした

  3. 春のref 012eのセクションDatatype Channel Configurationに記載されているようにカスタムコンバーターUserContext->文字列を実装そのドキュメント: http://static.springsource.org/spring-integration/reference/htmlsingle/#channel-configuration
関連する問題