エラーコードまたは例外であるのに対ASP.Net webサービスですか?
-
09-06-2019 - |
質問
を読んでこの スレッド のためのWCFはinbuiltタ断層コード。
そこで、最高の練習 ASP.Net webサービス?い例外をスローし、顧客の取扱いの例外または送信エラーコードの成功、失敗など)のように依らざるを得ない。
更新:直後の場合 ソープ, そして、そうに客 ウェブsvc 電話への通知メッセージ(戻り値のない見込みですべく滑らかな例外はスローされるsvc.
現在どのように、顧客かの場合に電話して頂いており失われたり紛失したりしたコミュニケーション-ネットワークの問題または何かのサーバとクライアント?と比較することを一切有しない例外がスローされます。お客様と考えるかもしれます。のもの。のろどこかということです。
なお送りは"成功"のエラーコードを確保し、クライアントに話した。があるのはどうしたらこのシナリオ上でも可能ですか?
解決
Jeff Atwood掲載 興味深いaerticle 本課題についています。Allthough。純例外に変換されSoapFault、対応の他の多くのツールキットの情報に誤りはない。そのくらいconlusionの第ということです。NET webサービスなげても良い例外メッセージを追加してください追加情報:
Private Sub WebServiceExceptionHandler(ByVal ex As Exception)
Dim ueh As New AspUnhandledExceptionHandler
ueh.HandleException(ex)
'-- Build the detail element of the SOAP fault.
Dim doc As New System.Xml.XmlDocument
Dim node As System.Xml.XmlNode = doc.CreateNode(XmlNodeType.Element, _
SoapException.DetailElementName.Name, _
SoapException.DetailElementName.Namespace)
'-- append our error detail string to the SOAP detail element
Dim details As System.Xml.XmlNode = doc.CreateNode(XmlNodeType.Element, _
"ExceptionInfo", _
SoapException.DetailElementName.Namespace)
details.InnerText = ueh.ExceptionToString(ex)
node.AppendChild(details)
'-- re-throw the exception so we can package additional info
Throw New SoapException("Unhandled Exception: " & ex.Message, _
SoapException.ClientFaultCode, _
Context.Request.Url.ToString, node)
End Sub
詳細情報はなぜsoapfaultsより この質問.
他のヒント
かりにくい消費のwebサービス(プロトコルをしています。
の場合は取得した後、帰エラーコードとして、呼び出しHttpWebRequest(.純)その他のコードは受信サーバエラーに対応するエキスを除きます。
であれば石鹸で完全にokを捨てカスタム例外(いない内部の枠組みの例外としている一部のスタックトレースなど。外部者の
としてのSOAPのwebサービスをはじめとして期待されてい呼び出しのコードとして通常のメソッドの呼び出しで、呼び出しに対応する枠組みで取り扱いを伝搬する例外では、イブレア城、イブレア大し、これにより、呼び出し側コードに見せて動作することとして扱い、内部に発信します。