簡體   English   中英

無法捕獲客戶端WCF應用程序中的故障異常

[英]Unable to capture fault exception in client WCF app

我正在使用WCF使用Java制造的Web服務,並且無法捕獲故障異常。 每次我發送肥皂請求服務時,我還會收到一個常規異常消息:

從另一方收到不安全的錯誤或不正確的安全錯誤。 有關故障代碼和詳細信息,請參見內部故障異常。

當我遇到內部異常時,只有一個帶有錯誤對象類型名稱的字符串(這是我從wsdl代理類btw創建的類型),並且無法查看其中的內容。 我還使用提琴手查看我正在發送的請求和Web服務的響應。 實際上,這是從中查看錯誤消息的唯一方法。 我需要做的是在我的應用程序代碼中捕獲此消息。 我試圖在我的代碼中抓到FaultException,但是沒有運氣(甚至沒有碰到它)。 我將不勝感激

        try {
            client.Open();
            SkrytkaReference.OdpowiedzSkrytkiTyp response = new SkrytkaReference.OdpowiedzSkrytkiTyp();

            SkrytkaReference.DokumentTyp dokument = new SkrytkaReference.DokumentTyp();

            dokument.nazwaPliku = model.Dokument.nazwaPliku;
            dokument.typPliku = model.Dokument.typPliku;
            dokument.zawartosc = model.Dokument.zawartosc;

            response = client.nadaj(model.IdentyfikatorPodmiotu, model.AdresSkrytki, model.AdresOdpowiedzi, true, model.DaneDodatkowe, dokument);
            /// abcprospzoo/Domyślna-1504592390539
            client.Close();
        }

        catch (FaultException<SkrytkaReference.WyjatekTyp> faultex) {
            var msgFault = faultex.CreateMessageFault();

            if (msgFault.HasDetail) {
                var detailNode = msgFault.GetDetail<XmlElement>();
            }
        }

終於我開始工作了。 如果其他人有類似的問題,請使用以下解決方案解決了我的問題: 鏈接

這是在nurance的答復中。 該解決方案消除了傳入服務響應中的安全性。 從現在開始,我可以在C#代碼中捕獲服務響應和錯誤(在常規FaultException中)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM