0

質問です。SOAP メッセージをクライアントに送信する必要があります。そのメッセージとともに、HTTP ステータス コード 500 も送信する必要があります。コードの送信に依存したかどうかを確認する方法はありますか。コード:

try
{
   SOME CODE
}
catch (Exception ex)
            {

                if (ora_trn != null) ora_trn.Rollback();

                WriteErrors.WriteToLogFile("WS.LOAD_DOK-OracleException", ex.ToString());

                errorMessage = ex.Message;

                //Error exception
                soapEnvelop.LoadXml(@"<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""><soap:Body><soap:Fault><faultcode>500</faultcode><faultstring>Internal Server Error</faultstring><detail><Response_status>1</Response_status><Description>" + ex.Message + "</Description></detail></soap:Fault></soap:Body></soap:Envelope>");

                base.Context.Response.StatusCode = 500; 

                return soapEnvelop;
}

OK、エラーメッセージ全体をここに記録します。WriteErrors.WriteToLogFile("WS.LOAD_DOK-OracleException", ex.ToString());

これでステータスコードを変更します:base.Context.Response.StatusCode = 500;

これで、クライアントにメッセージを返します。return soapEnvelop;

今、私は彼がこれを通して上記の SOAP メッセージを受け取っていることを知っています: return soapEnvelop; しかし、彼がコード 500 を取得したかどうか、結果をテキスト ファイルに書き込む方法、または次のコードを確認する方法があるかどうかも知りたいです。base.Context.Response.StatusCode = 500; 動作するかどうかに依存しますか?

ありがとう!

4

0 に答える 0