2017-09-13 21 views
0

Camel CXFエンドポイントを使用してSOAPサーバーに接続しています。クライアントからのリクエストにタイムアウトを追加したかったのです。私はそのためにcontinuationTimeoutオプションを使用しています。しかし、それは動作していません。リクエストは、私が設定した時間を待たずにタイムアウトしています。Camel CXF:SOAPクライアントのタイムアウト

以下は私のエンドポイント構成です。

<camel-cxf:cxfEndpoint id="tmAPIWSEndpoint" address="http://IN2NPDCEDB01:8088/webservices/services/TransportationManager" 
      wsdlURL="/wsdl/TransportationManager.wsdl" 
      endpointName="cis:TransportationManagerPort" 
      serviceName="cis:TransportationManagerService" 
      xmlns:cis="http://www.i2.com/cis" 
      continuationTimeout="60000"> 
     <camel-cxf:properties> 
      <entry key="dataFormat" value="MESSAGE"/> 
      <entry key="username" value="XXX"/> 
      <entry key="password" value="XXX"/> 
     </camel-cxf:properties> 
    </camel-cxf:cxfEndpoint> 

答えて

1

あなたの質問は、あなたがラクダの内側にSOAPサービスを作成しているか、クライアントとしてキャメルからのSOAPサービスを呼び出している場合、私は見傾けるようラクダルートは今そこにあるので、非常に明確ではありません。送信した少しの情報に基づいて、クライアントを作成しているようです。

ラクダCXFのドキュメントによると

  • continuationTimeout:このオプションは、CXFサーバーは、突堤やサーブレットトランスポートを使用している場合、デフォルト でCxfConsumerで使用することができCXF継続タイムアウトを設定するために使用されます。 ( キャメル2.14.0前に、CxfConsumerはちょうど継続が運転決してタイムアウトを一時停止を意味し、 0であることを継続タイムアウトを設定します。)これは、CXFサーバーの設定ではないクライアントの設定に関連していることを

注意してください。あなたはこのプロパティを使用していますが、私はこれがあなたが探しているものだとは思わない。

あなたがApache CXF Client Settings Documentationページを参照する場合は、あなたがそこに以下の注意事項見つける:

  • のConnectionTimeout:は、クライアントがその前に 回の接続を確立しようとしていること、時間をミリ秒単位で指定しますでる。デフォルトは30000(30秒)です。 0は、 クライアントが接続を無期限に開こうとすることを指定します。
  • ReceiveTimeout:クライアントが応答をタイムアウトするまで待機する時間をミリ秒単位で指定します。 のデフォルトは60000です.0はクライアントが無期限に待機することを示します。

CXFのドキュメントページにアクセスすると、そこに多くの例があります。

+0

ありがとうございます。 'http-conf:conduit'私の問題を解決しました。 –

関連する問題