问题标签 [faultexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WCF 客户端从 asmx webservice 捕获 SoapException
我有一个调用 asmx Web 服务的 WCF 服务。该 Web 服务会引发如下所示的异常:
在 c# 中,我可以将其作为 FaultException 捕获,但它没有 details 属性。如何获得此异常的详细信息?
wcf - 客户端应用程序如何知道特定的 wcf 方法是否引发了故障异常?
我知道 wcf 方法会引发错误异常,并且客户端应用程序会捕获该错误异常。但是有什么方法可以知道该 wcf 方法是否在客户端引发错误异常?
c# - 在 C# 客户端中捕获自定义 Java 异常的 Web 服务
我有一个名为 ClientAlreadyExistsException 的自定义 java 异常,此异常由 java 中的注册方法引发,我使用 Apache CXF 生成 Web 服务。现在在我的 C# 客户端中,当我调用注册方法时,我无法捕获异常,因为它总是返回错误 FaultException`1 但我实际上可以在其中看到我在 java 异常中编写的文本。
我试着捕捉一个 SoapException 但它没有用,我什至试过这个:
有什么帮助吗?
c# - 不显示堆栈跟踪的 wcf 异常
我需要从 wcf 异常中抛出而不向客户端显示堆栈跟踪,只是消息......
抛出新的 FaultException("ex1");
我平均有 20 个异常字符串。我如何实现它而不是每次都抛出带有字符串参数的 FaultException,而是抛出一个异常对象
c# - wcf FaultException 原因
对于以下异常,在异常窗口(->查看详细信息)中未指定原因:
System.ServiceModel.FaultException 此故障的创建者未指定原因。如何更改它以显示原因?(我需要在那里显示 1234)
c# - 我应该忽略 WCF 中的第一次机会异常吗?
在 Visual Studio 中运行 WCF 服务,我在 Debug 输出中看到大量异常。
它们似乎被不规则地抛出:在任何情况下,我都无法找出任何模式(即从每隔几秒到几十秒的任何地方)。
如果我将调试设置为中断FaultException
,我会看到它们被System.ServiceModel.Dispatcher.ErrorBehavior.ThrowAndCatch(Exception e, Message message)
.
异常消息是{"The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree."}
。
显而易见的答案似乎是“你的地址是空的”。但这发生在任何客户端连接之前。
这只是“正常”,还是我做错了什么的症状?
c# - 为非 WCF 客户端处理 WCF 错误
我创建了一个 Wcf 服务。Wcf 客户端和非 Wcf 客户端都可以访问它。我为 FaultException 处理创建了自己的类,如下所示;
对于我的服务接口,我有
在我的方法 XmlTypes 中,我有以下内容;
这似乎适用于 Wcf 客户端。
但是,当从非 Wcf 客户端进行调用时,例如使用 WebClient UploadString(我知道我可以使用服务参考,这是出于测试目的),我回来了
System.Net.WebException:远程服务器返回错误:(400)错误请求。
这是我在另一个测试应用程序中的网络客户端代码;
在我的 webconfig 文件中,我添加了以下内容,取自 this example throwing soap faults for non wcf clients
我哪里错了?
c# - C#调用java web服务:无法捕获FaultException
我正在开发一个 WCF 应用程序,我的一项服务需要使用用 Java 开发的第 3 方 Web 服务。第三方服务由政府提供,几乎不可能获得其代码/要求更改。
我从它的 wsdl 中将它添加为服务引用,并且该引用是自动生成的。
方法调用似乎有效,但是当我尝试捕获故障时,我无法获取第 3 方服务提供的自定义故障数据。我能在 FaultException 中得到的只是“处理时发生故障”。(message 和 reason 都只设置了这个。)
wsdl 具有自定义错误类型,但看起来 .NET 无法将返回的 SOAP 响应映射到具有该类型的 FaultException。所以,我的代码只是得到一个带有通用消息和 HasDetails=false 的通用 FaultException。
嗯,这对我们来说是个问题,因为我们有义务向我们的客户展示政府的网络服务返回了什么类型的故障。
你们觉得我在搞什么可打败的事情吗?任何建议都会受到高度赞赏,因为我已经很沮丧了。这是我的代码中的一部分:
这是我嗅到的错误的 SOAP 响应:
最后是第 3 方 Web 服务的 wsdl:
编辑:来自自动生成的 Reference.cs 的相关部分:
c# - WCF 故障异常
在构建 WCF 服务时,如果我没有在服务中包含我的 FaultException 合同,我可以在客户端上创建一个 WCF 服务引用,其中所有成员都包含在 Reference.cs 文件中。
如果我包含我的 FaultException 合同,会发生两件事。
在 WCF 测试客户端中,我在合同名称(CreateFaultMessage)旁边有一个红色的“X”
当我创建 WCF 服务引用时,并非所有成员都包含在 Reference.cs 文件中。
我希望有人能够告诉我在创建我的 FaultException 合同时我做错了什么,因为我不是 WCF 专家。
下面是我的合约在界面中的代码声明。
下面是实现接口的类中的方法。请注意 PostTransmissionRecord 方法的 catch 块中对 CreateFaultMessage 方法的调用。
更新代码
DataContract 类
服务方法抛出FAULTEXCEPTION
捕获错误的客户端代码
c# - WCF 故障异常如果为 ApplicationException 指定了内部异常,则失败
我一直在调试我新创建的 WCF 服务故障合同的一个问题,最后发现是什么破坏了它。
我这样定义服务:
在我的服务中,我正在处理服务中的异常,如下所示:
但是,客户端永远不会收到错误异常,而是会收到一个异常:
接收对...的 HTTP 响应时发生错误这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务关闭)。有关更多详细信息,请参阅服务器日志
如果我像这样更改服务上的代码(即:在构造 ApplicationException 时不要设置内部异常),它会按预期工作。
如果设置了内部异常,谁能解释为什么这可能会失败?我在文档中的任何地方都看不到它。