グローバルな例外を捕捉していないIHttpHandを使用してWebサービスでは、この時間は、それを使用する必要がある のSoapExtensionを
コードは以下の通りです
パブリック クラスSoapExceptionHandler:System.Web.Services.Protocols.SoapExtension { 公共 オーバーライド オブジェクトGetInitializer(タイプのServiceType) { 戻り ヌル。 } 公共 オーバーライド オブジェクトGetInitializer(System.Web.Services.Protocols.LogicalMethodInfo METHODINFO、System.Web.Services.Protocols.SoapExtensionAttribute属性) { 戻り ヌル。 } 公共 オーバーライド ボイド初期化(オブジェクト初期化子) { } 公共 オーバーライド ボイドProcessMessage(System.Web.Services.Protocols.SoapMessageメッセージ) { 場合(message.Stage == SoapMessageStage.AfterSerialize) { 場合(message.Exception!= NULL ) { AppLog.Info(message.Exception.InnerException)。 // LogUtil.Log.Error(message.Exception.InnerException)。 } } } }
同時に、web.configファイルで設定する必要があります
<Webサービス>ノードを探します
次の設定を追加します。
< soapExtensionTypes > < 追加タイプ= "Eway.HR.WebService.SoapExceptionHandler、Eway.HR.WebService" 優先度= "1" グループ= "ハイ" /> </ soapExtensionTypes >
このように、完全な石鹸ではないので、この時点では、直接開いてデバッグ対ウェブを直接使用している場合、何の効果もないだろう、
あなたはWebserviceStudioテストダウンロードを使用することができます。https://archive.codeplex.com/?p=WebserviceStudio