質問です。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; 動作するかどうかに依存しますか?
ありがとう!