无法在客户端WCF应用程序中捕获故障异常

时间:2018-01-12 15:04:00

标签: wcf

我正在使用WCF使用java制作的Web服务,但我无法捕获错误异常。每次我发送肥皂请求到服务我也会收到一个常规例外说:

  

从另一方收到了不安全的错误或错误的安全故障。有关故障代码和详细信息,请参阅内部故障异常。

当我进入内部异常时,只有一个字符串,其中包含故障对象类型的名称(这是我从wsdl代理类btw创建的类型),并且无法查看内部的内容。我也在使用fiddler查看我发送的请求以及来自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>();
            }
        }

1 个答案:

答案 0 :(得分:0)

最后,我得到了这个工作。如果其他人有类似的问题,这里有一个解决我的问题的修复: link

这是在nuronce的回复中。该解决方案可以防止服务响应受到威胁。从现在起,我可以在我的c#代码

中捕获服务响应和错误(在常规的FaultException中)