2

私のクライアントの春のコンテキスト:

<http-conf:conduit name="*.http-conduit">
    <http-conf:authorization>
        <sec:AuthorizationType>Negotiate</sec:AuthorizationType>
    </http-conf:authorization>
    <http-conf:client ReceiveTimeout="0"></http-conf:client>
</http-conf:conduit>

サーバーはリクエストの処理を続行しますが、クライアントはデフォルトのタイムアウト値である 60000 ミリ秒後にタイムアウトします。何か助けはありますか?

更新 (2012 年 4 月 10 日):

次のアプローチを試しました。

    ClientProxyImpl client = (ClientProxyImpl) alertService;
    Client proxy = ClientProxy.getClient(alertService);

    HTTPConduit conduit = (HTTPConduit) proxy.getConduit();

    HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
    httpClientPolicy.setConnectionTimeout(30000);
    httpClientPolicy.setReceiveTimeout(60000);

    conduit.setClient(httpClientPolicy);

以下の例外を取得しました。

Exception in thread "main" java.lang.ClassCastException: org.apache.cxf.jaxrs.client.ClientProxyImpl cannot be cast to org.apache.cxf.frontend.ClientProxy
at org.apache.cxf.frontend.ClientProxy.getClient(ClientProxy.java:120)

これを機能させるための助けに感謝します。

ありがとう

4

1 に答える 1

0

次のように変更してみてください:

<http-conf:conduit name="http://hostname.com/.*">

そのように拾われるかどうかを確認します。Rest には実際にはエンドポイント名の概念がなく、JAX-WS のように一致しない場合があります。

于 2012-04-04T14:58:13.547 に答える