问题标签 [ierrorhandler]

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.

0 投票
0 回答
36 浏览

c# - IErrorHandler.ProvideFault 中的 CurrentPrincipal 是否为空?

我创建了一个 IErrorHandler 来处理 WCF 服务中的所有异常。问题是,一旦我使用 ProvideFault 方法,Thread.CurrentPrincipal 就为空?它在服务方法中设置得很好吗?

在 IAuthorizationPolicy.Evaluate 中根据 IncomingMessageHeader 设置评估上下文.Properties["Principal"]。

我怀疑 IErrorHandler.ProvideFault 是在另一个线程上执行的。

有什么方法可以将 Thread.CurrentPrincipal 的值传递给 IErrorHandler.ProvideFault?

0 投票
0 回答
141 浏览

c# - 由于 WCF 中的 DataContract 等效性,CommunicationObjectFaultedException

我收到以下异常,但不知道到底出了什么问题。

System.ServiceModel.CommunicationObjectFaultedException: '通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信,因为它处于故障状态。

我知道这是由于在业务端反序列化 DataContract 所致。DataContract 等价于线路的两侧(客户端和业务)。

由于域的复杂性,很难在此处添加参考,但到目前为止,我一直在通过从线路客户端[DataMember]的属性中删除来隔离和解决这些问题。[DataContract]我可以继续以这种方式解决,但这对我来说是一项乏味的工作并且需要相当长的时间,所以我很想知道 WCF 是否可以通过在客户端返回的异常中提供详细信息来确定问题本身。

我的服务 app.config

我已经阅读了很多帖子,包括下面提到的一些帖子,但仍然无法解决。虽然我已经添加了IErrorHandler.

0 投票
1 回答
136 浏览

c# - SOAP 消息剥离 XML 版本

我正在开发一个 SOAP 服务,我需要<?xml version="1.0" encoding="UTF-8"?>在传出消息的顶部发送一个格式化的错误消息。

成功的响应在响应顶部没有此版本文本。

我这样做的原因是因为我们正在接管系统和原始供应商的提供,并且只获得了 WSDL 文件。

我有一种方法希望将消息更改为如下所示,但是,当我将其放入新消息中时,它<?xml version="1.0" encoding="UTF-8"?>会被删除。

调用代码如下

所以,问题是,如何在顶部使用正确的 xml 编码向用户发送消息?

我得到的完整回应是

- - 编辑 -

是我添加的内容,然后也从故障中删除了 SOAP-ENV。

0 投票
1 回答
183 浏览

c# - WCF 消息格式化程序未格式化故障消息

我有一个 WCF 服务,我正在更改肯定响应的前缀,但是在错误响应中,只有部分消息被更改。

SOAP-ENV 是正确的语法,但是您可以在记录错误时看到前缀是s:.

正在做这项工作的班级在这里

我也需要去掉这个的命名空间。

我尝试了各种各样的东西,但都没有奏效。

下面是其中一种方法的示例\我尝试过的事情

但是,这不适合覆盖

看过这里的一些文档https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.channels.messagefault.onwritedetail?view=netframework-4.7.2我无法得到任何东西工作。

格式化故障消息的任何和所有帮助都会很大

0 投票
1 回答
239 浏览

java - Java - XSD Validator:获取包含验证错误的元素的节点

嗨,我正在使用 Java 8,目前我正在尝试使用验证器 (javax.xml.validation.Validator) 使用 XSD 模式验证 XML。我的目标是能够检索包含验证错误的元素的节点。

在我的代码中,我使用了一个应用于验证器的 ErrorHandler。此外,我添加了一个 getCurrentNode() 方法,该方法应该返回错误节点 (validator.getProperty("http://apache.org/xml/properties/dom/current-element-node")。就我而言getProperty("---") 方法返回 null 而不是 Node 对象。我不明白为什么?我希望这不是因为我的一个组件的版本问题......比我更有知识的人能理解什么是出错了?

我从以下响应中获取了代码:Get parent element on XSD validation error

0 投票
0 回答
36 浏览

vba - 一个过程对所有功能的 vba 错误处理

我的问题是关于另一种(短)方式解决方案的可能性;

在 vba 中,我有一个过程,它调用许多函数,并且在该函数中,其中一些函数还有其他函数。我需要一个通用错误处理程序,它退出 sub 并将 err.Description 写入屏幕。

我知道如何在每个函数上写它。

除了在每个函数上编写这些代码之外,还有什么办法吗?(由于每个错误都在特定函数中打开,我认为将此代码写入主程序不会导致错误处理程序出现在发生错误的每个函数中)

0 投票
1 回答
38 浏览

angular - 从 ErrorHandler 调用的 Angular 错误对话框不会在 TypeError 上显示数据

由于其他帖子,我已经使这个示例的大部分工作,但我仍然遇到一个问题。

如果我抛出错误,错误对话框将按预期工作。如果我抛出 HTTP 错误(包括如果我在管道中捕获错误并返回 throwError(error)),错误对话框也可以工作。但是,如果在尝试显示未定义的对象时抛出了打字稿错误,则错误对话框不会显示来自组件的数据,并且对话框不会关闭。

这是我正在试验的代码。

我的环境是:

我正在使用命令“ng serve --ssl --configuration production”来执行。

预先感谢您对如何解决此问题的任何见解。