0

SOAP Web サービスとして実装されているサードパーティの Web サービスを使用しています。

彼らの指示に従って、Eclipse を使用して WSDL から Java スタブ クラスを生成しました。

それらで長時間実行されるリクエストをいくつか経験した後、生成されたクラスを掘り下げ、org.apache.axis.client.Call が作成されて呼び出されている場所を見つけました。Call オブジェクトに構成可能なタイムアウトを設定しました。

これをテストするには、タイムアウトを 10 ミリ秒などの非現実的な値に設定します。これを行うと、すべてのリクエストが期待どおりにタイムアウトします。

本番環境では、それらへの呼び出しにタイムアウトよりも時間がかかることがわかりました。タイムアウトは 3 秒ですが、実行には 1 分以上かかります。

足りないものはありますか?たぶん、TCP/IP の図鑑のほこりを払い、細かい点を再確認する必要があるか、それとも軸コードのカバーの下にある何かにすぎないのかもしれません。

4

1 に答える 1

0

問題はサーバー側にある可能性があるため、コードを掘り下げるのではなく、このサードパーティの Web サービスがクライアントに応答するのに実際にかかる時間を調べることをお勧めします。

このために、実際に自分でクライアントを作成する必要はありませんが、SOAP-IUなどのツールを使用してリクエストを送信してみることができます。リクエストの送信方法を知る必要がある場合、SOAP-UI にはインターネットで多くの詳細があります。ここを参照して開始してください。

于 2013-11-04T08:07:57.337 に答える