0

テストWebサービスを作成し、SoapExceptionをスローしようとしています。しかし、ブラウザでサービスを開くと、内部サーバーエラー-500が表示されます。

(stringbuilderで)手動で作成されたSoapRequestを送信して手動で使用しようとすると、VisualStudio自体の「WebResponse response = req.GetResponse()」行に同じエラー「Servererror-500」が表示されます。

とにかく、「応答XMLの障害」を実際に見ることができますか。

4

3 に答える 3

2

サービスに問題があるようです。クライアント側ではなくサーバー側でデバッグする必要があります。クライアントコードとWebブラウザに問題があるため、この結論に達しました。

.NETを使用していると仮定して、サーバーでASP.NETエラーの表示を有効にしましたか?詳細については、この記事を参照してください。

アップデート:

サーバーでエラーをスローしていて、クライアントでエラーテキストを取得したいですか?サーバーでエラーが発生すると、500エラーメッセージが表示され、クライアントにXMLが返される可能性はほとんどありません。おそらく、SoapExceptionコンストラクターに何かを渡すことができますか?

SoapExceptionのドキュメントを見ましたか?SoapExceptionのDetailプロパティを使用して情報を渡す例がいくつかあります。

于 2009-09-06T18:13:57.420 に答える
0

ブラウザでasmx(asmxを使用していると仮定)にアクセスして、動作しているかどうかを確認できますか?

于 2009-09-06T18:26:26.180 に答える
-1

5〜6時間サーフィンした後、ついにそれを手に入れました......ここにあります:

手動で応答を取得する場合は、次を使用します。

try
{
    WebResponse response = req.GetResponse();                
    Stream str = response.GetResponseStream();
    StreamReader rdr = new StreamReader(str);
    Response.Write(rdr.ReadToEnd());          
    Response.End();
}
catch (WebException webEx)
{
    Stream str = webEx.Response.GetResponseStream();
    StreamReader rdr = new StreamReader(str); 
    Response.Write(rdr.ReadToEnd());          
    Response.End();
}
于 2009-09-07T16:02:19.097 に答える