0

現在、使用して設定したリクエストでタイムアウトが発生する.netSOAPWebサービスがあります

Server.ScriptTimeout = TIME_OUT;

次に、Javaクライアントが上記のWebサービスを呼び出します。ただし、タイムアウトに達すると、次の例外が発生します。

Exception in thread "Thread-9" com.sun.xml.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html; charset=utf-8 Supported ones are: [text/xml]

何が起こっているのかというと、Webサービスがhttpタイムアウトコード(503だと思いますか?)を含むhtmlエラーページを返しますが、これは私のJavaコード(WSDLimportを使用して生成)では予期されていません。

これで、クライアントでUnsupportedMediaExceptionエラーをキャッチし、それをより意味のあるものに変換しようと試みることができましたが、Webサービス側でより具体的なタイムアウト例外を送信したいと思います。とにかく、タイムアウトが発生したときに、より適切な例外を送信するための.net Webサービス、またはこの状況をより適切に処理する他の方法はありますか?

編集:
Glassfish2ディストリビューションのWSDLImportを使用しています。

4

2 に答える 2

1

これは、SunのJAX-WSスタックの既知の問題です。

参考までに、HTTP 500コードは、実際にはサーバーに内部サーバーエラーがあったことを意味します。.NETがHTTP503ServiceUnavailableではなくそれを送信する理由がわかりません。

于 2008-12-05T15:50:54.327 に答える
0

Web サービスを非同期にすることができます。次に、BeginMyMethod でタイムアウトを使用してタイマーを開始し、EndMyMethod メソッドでカスタム例外をスローします。SOAP 例外にラップされ、そのままクライアントに送信されます。

于 2008-12-04T16:35:50.353 に答える