问题标签 [soap-extension]
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# - 如何在 SoapExtension 中处理超时异常
我有一个 SoapExtension。它记录了我所有的网络服务请求和响应。我认为项目中有超过一千个 Web 服务调用。我的问题是,如果我的 web 服务调用以超时或 httpexceptions(如 403、404)结束,我将无法记录请求。我也需要记录这些异常。
这是我的 SoapExtension
android - Soap enabler, maven Build Failure
Trying to run a new sample project with soap enabler https://code.google.com/p/android-soap-enabler/ And i keep getting a build failed exception, I double checked the system variables and everything seems fine in my maven local repo.
The pom file
Thanks !
asp.net - 在 SoapExtension 中记录 web 服务请求和响应
我正在使用 SoapExtension 来记录 web 服务请求,以及 web 服务中发生错误时的响应。请求和响应 XMLDocument 的数据都不正确。有人可以查看代码以查看我可能做错了什么吗?如果我无法集中 SoapExtension 中的更改,那么我将着手在每个 Web 服务端点周围添加日志记录代码。
c# - 在服务器端记录 SOAP 请求和响应
我正在尝试为对我的 ASP.NET Web 服务的所有 SOAP 方法调用创建一个日志记录服务。我一直在查看 来自控制台应用程序的 Log SOAP 消息以及 MSDN 上 SOAP 扩展的演练(http://msdn.microsoft.com/en-us/library/s25h0swd%28v=vs.100%29.aspx)但他们似乎并没有完全覆盖它。
我不想更改 SOAP 消息,只需将其记录到数据库表中。我要做的是读取 SOAP 消息流,将其解析为 XML,记录 XML,然后让调用顺利进行。但是当我阅读流时,它被花费/处置。我尝试复制流内容以不中断流。
根据演练,该ProcessMessage
方法应如下所示:
我已经设法在阶段解析流而没有问题BeforeDeserialize
,但随后ProcessMessage
在阶段再次调用,AfterSerialize
到那时流被使用并且不再包含任何数据。
根据使用 SOAP 扩展的 SOAP 消息修改 ( http://msdn.microsoft.com/en-us/library/esw638yk%28v=vs.100%29.aspx ) SOAP 调用经过以下步骤:
服务器端收到请求消息并准备响应
- Web 服务器上的 ASP.NET 接收 SOAP 消息。
- 在 Web 服务器上创建 SOAP 扩展的新实例。
- 在 Web 服务器上,如果这是第一次在服务器端使用此 Web 服务执行此 SOAP 扩展,则在服务器上运行的 SOAP 扩展上调用 GetInitializer 方法。
- Initialize 方法被调用。
- 调用 ChainStream 方法。
- 调用 ProcessMessage 方法时将 SoapMessageStage 设置为BeforeDeserialize。
- ASP.NET 反序列化 XML 中的参数。
- ProcessMessage 方法是在 SoapMessageStage 设置为AfterDeserialize时调用的。
- ASP.NET 创建实现 Web 服务的类的新实例并调用 Web 服务方法,传入反序列化的参数。此对象与 Web 服务器位于同一台计算机上。
- Web 服务方法执行其代码,最终设置返回值和任何输出参数。
- 调用 ProcessMessage 方法时将 SoapMessageStage 设置为BeforeSerialize。
- Web 服务器上的 ASP.NET 将返回值和输出参数序列化为 XML。
- 调用 ProcessMessage 方法时将 SoapMessageStage 设置为AfterSerialize。
- ASP.NET 通过网络将 SOAP 响应消息发送回 Web 服务客户端。
正确执行了第 6 步并记录了 SOAP XML。然后它不应该再做任何事情,直到服务器处理完调用,完成它需要的(步骤 10)并返回响应(步骤 13)。相反,它会立即ProcessMessage
在AfterSerialize
舞台上再次调用,但这一次流已经用完,当我尝试记录它时会引发异常。
根据演练,我应该使用该ChainStream
方法,并且应该在上面的步骤 5 中运行。当我拨打电话时,它会运行两次,一次之前BeforeDeserialize
,一次之前AfterSerialize
。
BeforeDeserialize
我尝试将消息流复制到一个单独的流并将其用于日志记录,如果已经运行,也可以设置某种状态,但问题仍然存在。
我仍然需要代码AfterSerialize
来处理发送回客户端的响应。但是,如果我尝试删除我的代码AfterSerialize
并仅在BeforeDeserialize' I get a
HTTP 400: Bad Request` 中运行代码。
这一切都发生在实际的方法调用之前,所以我什至从未接触过方法内部的代码(第 10 步)。
.net - SoapExtension 不会执行
我有一个SoapExtension
,目前只写一个日志:
我尝试用两个web.config
文件注册它
和SoapExtensionAttribute
这是由注册的
但它们似乎都不起作用,日志文件从不显示这些++++++
行。请问有什么提示吗?
.net - SOAP 扩展配置(初始化).NET
我正在使用 SOAP 扩展来加密/解密服务器-客户端之间的消息(使用 IIS Web 服务)
从msdn,我知道有 2 种方法 GetInitializer(Type) 和 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) 在初始化 SOAP 扩展时获取它的初始化程序。在我的例子中,这个 SOAP 扩展是通过 web.config 配置的,并且适用于所有的 web 方法,所以我使用第一个。
我想在初始化时初始化一些字段(例如 DB 连接字符串、加密密钥、日志文件路径……)以便在 SOAP 扩展中使用。
我如何从 webservices 配置文件中做到这一点?或其他建议?
先谢谢了。
api - UPS API(.Net 控制台应用程序)中的请求和响应需要原始 XML
UPS API (.Net) 中的请求和响应需要原始 XML
尝试使用上面帖子中发布的代码实现日志记录,但我在发布代码时遇到问题。TranceExtension 将所有内容返回为 null。任何帮助表示赞赏。
谢谢你。
c# - 是否可以在 SOAP Extensions C# 中获取 HTTP 状态代码?
我根据这篇文章创建了带有soap扩展的C# webservice: https ://msdn.microsoft.com/en-us/library/esw638yk(v=vs.71).aspx 用于保持soap日志,是否可以获得http状态肥皂扩展部分中的代码。
c# - 来自 SOAP .Net 客户端应用程序的跟踪/记录 SOAP XML 请求和响应以及 HTTP 状态代码
我有 C# .Net 2.0 应用程序,它是通过 WebReferences 添加到项目的 SOAP Web 服务客户端。.Net 创建了扩展 SoapHttpClientProtocol 的便捷包装类,从而隐藏了通信中的所有内容,例如 XML 和 SOAP XML 请求/响应的序列化/反序列化。
我需要记录对 WebServices 的请求和响应,特别是我希望从 HTTP 通信的响应中获取 HTTP 状态代码。
到目前为止,我已经实现了 SOAP 扩展并获得了原始的 SOAP XML 请求/响应,但是我无法获得通信的 HTTP SOAP 响应的 HTTP 状态代码?
编辑:所以我拥有的是 SoapHttpClientProtocol 的一个实例(由 WSDL 生成),我想从通信中获取 HTTP 状态代码。
我反编译
奇怪的是里面有这个条件,当状态为 500 时实际上不会抛出错误?
EDIT2:所以我的问题通常是我有 HTTP 状态 500 的响应,它实际上作为成功传递,没有抛出 WebException,由于上面的代码对我不起作用,我想检测这种情况,这就是为什么我需要 HTTP 状态码。
c# - SOAP 扩展未在 .net 框架中运行
所以我需要为我正在处理的项目添加一个 SOAP 扩展。我创建了一个扩展 SoapExtension 的 C# 类,并在 web.config 中添加了对它的引用。但它没有运行。该类应该修改通过它的任何数据,但我可以运行 Web 服务(使用 SoapUI)并且输出不会被修改。我认为问题出在配置文件或命名空间上。
这是我的 web.config:
一些示例在type
属性中有更多内容。
这是我班上的 munging 函数:
显然,一旦我知道它正在工作,它将被替换。我究竟做错了什么?