问题标签 [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.

0 投票
1 回答
1903 浏览

c# - 如何在 SoapExtension 中处理超时异常

我有一个 SoapExtension。它记录了我所有的网络服务请求和响应。我认为项目中有超过一千个 Web 服务调用。我的问题是,如果我的 web 服务调用以超时或 httpexceptions(如 403、404)结束,我将无法记录请求。我也需要记录这些异常。

这是我的 SoapExtension

0 投票
3 回答
10614 浏览

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 !

0 投票
1 回答
1835 浏览

asp.net - 在 SoapExtension 中记录 web 服务请求和响应

我正在使用 SoapExtension 来记录 web 服务请求,以及 web 服务中发生错误时的响应。请求和响应 XMLDocument 的数据都不正确。有人可以查看代码以查看我可能做错了什么吗?如果我无法集中 SoapExtension 中的更改,那么我将着手在每个 Web 服务端点周围添加日志记录代码。

0 投票
2 回答
20011 浏览

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 调用经过以下步骤:

服务器端收到请求消息并准备响应

  1. Web 服务器上的 ASP.NET 接收 SOAP 消息。
  2. 在 Web 服务器上创建 SOAP 扩展的新实例。
  3. 在 Web 服务器上,如果这是第一次在服务器端使用此 Web 服务执行此 SOAP 扩展,则在服务器上运行的 SOAP 扩展上调用 GetInitializer 方法。
  4. Initialize 方法被调用。
  5. 调用 ChainStream 方法。
  6. 调用 ProcessMessage 方法时将 SoapMessageStage 设置为BeforeDeserialize
  7. ASP.NET 反序列化 XML 中的参数。
  8. ProcessMessage 方法是在 SoapMessageStage 设置为AfterDeserialize时调用的。
  9. ASP.NET 创建实现 Web 服务的类的新实例并调用 Web 服务方法,传入反序列化的参数。此对象与 Web 服务器位于同一台计算机上。
  10. Web 服务方法执行其代码,最终设置返回值和任何输出参数。
  11. 调用 ProcessMessage 方法时将 SoapMessageStage 设置为BeforeSerialize。
  12. Web 服务器上的 ASP.NET 将返回值和输出参数序列化为 XML。
  13. 调用 ProcessMessage 方法时将 SoapMessageStage 设置为AfterSerialize
  14. ASP.NET 通过网络将 SOAP 响应消息发送回 Web 服务客户端。

正确执行了第 6 步并记录了 SOAP XML。然后它不应该再做任何事情,直到服务器处理完调用,完成它需要的(步骤 10)并返回响应(步骤 13)。相反,它会立即ProcessMessageAfterSerialize舞台上再次调用,但这一次流已经用完,当我尝试记录它时会引发异常。

根据演练,我应该使用该ChainStream方法,并且应该在上面的步骤 5 中运行。当我拨打电话时,它会运行两次,一次之前BeforeDeserialize,一次之前AfterSerialize

BeforeDeserialize我尝试将消息流复制到一个单独的流并将其用于日志记录,如果已经运行,也可以设置某种状态,但问题仍然存在。

我仍然需要代码AfterSerialize来处理发送回客户端的响应。但是,如果我尝试删除我的代码AfterSerialize并仅在BeforeDeserialize' I get aHTTP 400: Bad Request` 中运行代码。

这一切都发生在实际的方法调用之前,所以我什至从未接触过方法内部的代码(第 10 步)。

0 投票
1 回答
358 浏览

.net - SoapExtension 不会执行

我有一个SoapExtension,目前只写一个日志:

我尝试用两个web.config文件注册它

SoapExtensionAttribute

这是由注册的

但它们似乎都不起作用,日志文件从不显示这些++++++行。请问有什么提示吗?

0 投票
0 回答
183 浏览

.net - SOAP 扩展配置(初始化).NET

我正在使用 SOAP 扩展来加密/解密服务器-客户端之间的消息(使用 IIS Web 服务)

msdn,我知道有 2 种方法 GetInitializer(Type) 和 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) 在初始化 SOAP 扩展时获取它的初始化程序。在我的例子中,这个 SOAP 扩展是通过 web.config 配置的,并且适用于所有的 web 方法,所以我使用第一个。

我想在初始化时初始化一些字段(例如 DB 连接字符串、加密密钥、日志文件路径……)以便在 SOAP 扩展中使用。

我如何从 webservices 配置文件中做到这一点?或其他建议?

先谢谢了。

0 投票
1 回答
191 浏览

api - UPS API(.Net 控制台应用程序)中的请求和响应需要原始 XML

UPS API (.Net) 中的请求和响应需要原始 XML

尝试使用上面帖子中发布的代码实现日志记录,但我在发布代码时遇到问题。TranceExtension 将所有内容返回为 null。任何帮助表示赞赏。

谢谢你。

0 投票
1 回答
1040 浏览

c# - 是否可以在 SOAP Extensions C# 中获取 HTTP 状态代码?

我根据这篇文章创建了带有soap扩展的C# webservice: https ://msdn.microsoft.com/en-us/library/esw638yk(v=vs.71).aspx 用于保持soap日志,是否可以获得http状态肥皂扩展部分中的代码。

0 投票
1 回答
1169 浏览

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 状态码。

0 投票
0 回答
525 浏览

c# - SOAP 扩展未在 .net 框架中运行

所以我需要为我正在处理的项目添加一个 SOAP 扩展。我创建了一个扩展 SoapExtension 的 C# 类,并在 web.config 中添加了对它的引用。但它没有运行。该类应该修改通过它的任何数据,但我可以运行 Web 服务(使用 SoapUI)并且输出不会被修改。我认为问题出在配置文件或命名空间上。

这是我的 web.config:

一些示例在type属性中有更多内容。

这是我班上的 munging 函数:

显然,一旦我知道它正在工作,它将被替换。我究竟做错了什么?