私は、JAXRPC-RI (参照実装) ライブラリを使用して構築されたいくつかのクライアント コードを使用して、SOAP Web サービス (私が絶対に、積極的に嫌うテクノロジ) と対話する、少し古いコンポーネントを使用しています。
スタブでタイムアウトを設定して、Web サービス サーバーが X 秒以内に応答しない場合に、アプリケーションが永遠に応答を待機するように設定しないことに興味があります。
私はApache Axisによって生成されたクライアント/スタブを操作することに慣れています。これを使用org.apache.axis.client.Stub.setTimeout()
して、タイムアウトを設定するだけです。
私の人生では、JAXRPC-RI で作成されたスタブを使用するときにタイムアウトを設定する方法がわかりません。
- インスタンス化するポート クラスは、 and を拡張
com.sun.xml.rpc.client.StubBase
して実装javax.xml.rpc.Stub
しcom.sun.xml.rpc.spi.runtime.StubBase
ます。 - これらのクラスのJavaDocsには、これを行うためのタイムアウトやメソッドについては言及されていません。
- 次のようなコードを試すと
stub._setProperty("axis.connection.timeout", 1000);
、実行時に例外が発生します。javax.xml.rpc.JAXRPCException: Stub does not recognize property: axis.connection.timeout
JAXRPC-RI クライアントを使用するときにタイムアウトを設定/強制する方法について誰か考えがありますか? それは可能ですか?