1

JAX-WS で生成されたプロキシを使用して Web サービスを呼び出そうとしています。

WSDL は比較的小さく (11kB)、操作は 3 つだけで、ローカルに保存されます。

しかし、ポートを初期化しようとすると、 stdout の次の行で 10 ~ 20 秒間スタックします。

「file:/C:/path/to/webapp/WebContent/WEB-INF/wsdl/」でドキュメントを取得しています。

new MyServicePort(new URL(wsdlLocation))これは wsdl の 、および読み取りに対応します。

Web サービスへの後続の呼び出しはすべて正常に動作し、高速です (各呼び出しで 200 ミリ秒未満)。

への後続の呼び出しnew MyServicePort(new URL(wsdlLocation))も高速です...

そのような応答時間は、合理的な仕様のコンピューターでは正常ですか? (コア i5 + 8GB RAM)

4

1 に答える 1

0

プロキシ オブジェクトが作成され、フレームワークが WS 呼び出しを行うために必要なすべてのクラスを初期化するため、アプリケーションの開始後の最初の Web サービス呼び出しは、通常は低速です。

これに対する一般的な回避策は、何もしないスタブ メソッドをサービスに公開させ、アプリケーションの起動時にこのスタブを呼び出すことです。これにより、バックグラウンドでサービス プロキシ オブジェクトが作成され、アプリが実際にサービスを呼び出すと、すべての準備が整います。

于 2013-04-08T13:58:55.873 に答える