我正在使用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>();
}
}
答案 0 :(得分:0)
最后,我得到了这个工作。如果其他人有类似的问题,这里有一个解决我的问题的修复: link
这是在nuronce的回复中。该解决方案可以防止服务响应受到威胁。从现在起,我可以在我的c#代码
中捕获服务响应和错误(在常规的FaultException中)