问题标签 [soaphandler]

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 回答
715 浏览

soap - 如何获取SOAPHandler的handleFault方法来区分请求和响应

我正在尝试使用SOAPHandler拦截服务调用,我需要区分方法requestresponse内部handleFault。问题是当请求或响应无效并且handleFault方法被调用时,我无法知道它是哪一个。MessageContext.MESSAGE_OUTBOUND_PROPERTY没有帮助,在true这两种情况下handleFault

0 投票
0 回答
355 浏览

web-services - 从 SOAP 标头检索凭据

这是我发送到部署在 WAS 8.5 中的 WS 的示例 SOAP 请求

我想要的是检索在上述请求中发送的用户名和密码。我翻阅了 Java EE api,但找不到正确的方法来做同样的事情。我在SOAPHandler中写了一段痛苦的代码,如下所示:

获取用户名和密码的有效方法是什么?

0 投票
0 回答
1320 浏览

web-services - SOAPHandler handleMessage 返回自定义错误

我有一个自定义 SOAPHandler 和 handleMessage() 如下:

例如,如果有人没有添加安全标头,则响应如下:

现在在 handleMessage(...) 中,我已经包装了错误标头的自定义错误,如下所示:

根据我们的组织。标准,我在 wsdl 中声明了以下错误(此处部分显示):

我该如何确保响应有这个错误?我徒劳地尝试了SOAPFault.addDetail(...)

0 投票
1 回答
1285 浏览

web-services - Jax-WS 请求-响应负载日志中的线程安全

我正在研究 SoapHandler 的实现。基本上我的目标是获取请求和响应有效负载并将它们插入数据库。

虽然我可以获得请求和响应有效负载,但我无法确定我的代码是否工作线程安全。换句话说,我不确定响应是否与正确的请求匹配。

我在 JCP 规范中发现了这一点:

9.3.3 处理程序实现注意事项

处理程序实例可以由 JAX-RPC 运行时系统池化。JAX-RPC 运行时系统认为特定处理程序的所有实例都是等效的,并且可以选择任何实例来处理特定消息。可以使用不同的处理程序实例来处理 MEP 的每条消息。处理程序链中的每个处理程序、MEP 中的每个消息或两者的任意组合都可以使用不同的线程。处理程序不应依赖线程本地状态来共享信息。处理程序应改为使用消息上下文,请参阅第 9.4 节。

9.4 消息上下文

使用消息上下文调用处理程序,该消息上下文提供访问和修改入站和出站消息以及管理一组属性的方法。使用不同类型的消息上下文调用不同类型的处理程序。9.4.1 和 9.4.2 节分别描述了 MessageContext 和 LogicalMessageContext。此外,JAX-RPC 绑定 12 可以为它们的特定协议绑定定义消息上下文子类型,该协议绑定提供对协议特定特征的访问。第 10.3 节描述了 JAX-RPC SOAP 绑定的消息上下文子类型。

http://download.oracle.com/otn-pub/jcp/jaxrpc-2.0-edr2-spec-oth-JSpec/jaxrpc-2_0-edr2-spec.pdf?AuthParam=1431341511_1ac4403a34d7db108bce79eda126df49

这是否意味着为每个请求创建一个新的 MessageContext 对象(在这种情况下,我认为代码将是线程安全的),或者相同的 MessageContext 对象可以用于多个请求(那么我的代码将不是线程安全的)。

任何帮助/替代解决方案将不胜感激。

0 投票
0 回答
224 浏览

xml - jax-ws soaphandler 获取响应数据值

我对 JAX-WS 很陌生,我想在我的 Soap 处理程序的响应数据中获得一个值,但我不知道如何。

以下是 XML 中的肥皂响应:

我想得到<Signature>inside的值<CS_LogonResponseData>。我使用了以下内容,但它似乎仅适用于独立应用程序。

代码:

当我在我的项目中使用相同的代码时......结果始终为空。

有没有一种方法可以从响应数据中导航并获取...的值<Signature>……当作为独立应用程序运行和通过 tomcat 运行时,子节点项索引似乎正在发生变化。

我将需要我的其他操作(如注销等)的请求数据中的签名值。

提前致谢

0 投票
1 回答
2527 浏览

java - 使用 SOAPHandler 获取 SOAP 响应的请求

我有一个 SOAPHandler。我需要捕获响应的请求

看:

String requestXML="Request of the Response, is possible?";

是否可以在响应句柄中捕获请求?

0 投票
0 回答
79 浏览

xml - Custom SOAP envelop for soap response

i'm developing soap app using Spring + SOAP+JAXB+XSD

i want to do customize the soap header

My Existing response

My Expected response

Note that xmlns:stu="http://studentinfo.com/" is in my soap envelop header, could you please advise how to add this? i'm testing soap using SOAP UI, which fails to validate the request and response headers using assertions.

Please advise

Thanks

0 投票
0 回答
51 浏览

xml - JAVA+ Spring 编辑 SOAP 请求消息

我正在使用 Spring + SOAP+JAXB+XSD 开发肥皂应用程序

我想将命名空间添加到肥皂请求xml

我的现有请求

我的预期请求

如果您看到预期的请求,我想添加以下内容

我的端点类

请告知如何xml使用命名空间更改请求

两者都有效,但如果我想使用SoapUI断言测试服务失败,因为请求和响应应该具有相同的命名空间。在我的情况下,请求信封标头具有命名空间而不是res:WSRequest

感谢您是否可以提供帮助

提前致谢

0 投票
0 回答
114 浏览

java - 如何从 SOAP 处理程序中抛出有效的服务 SOAP 响应而不是非常模糊的 Server 500 错误

当有未经授权的用户时,我会从我的 SOAP 处理程序类(Java 类)发送 SOAPException,但在我的客户端中它给出 500 内部服务器错误。

任何机构都可以帮助我如何抛出特定代码而不是 500。

提前致谢。

0 投票
1 回答
1685 浏览

java - 从 java soap 处理程序获取响应

如果有人分享他解决以下问题的经验,我将不胜感激。我在 JDK 实现中有一个 SOAP 服务(我相信它是 Metro)。

出于日志记录的目的,我们需要提取传入请求和生成响应的主体。我尝试通过在服务器端实现一个 SOAPHandler 来获取它。我将处理程序配置为 Spring bean。我发现的所有示例基本上都复制了 Oracle 文档中的示例:https ://docs.oracle.com/cd/E23943_01/web.1111/e13734/handlers.htm#WSADV170 :

这里读取 SOAP 消息上下文的布尔属性之一,在我看来,它对应于请求或响应。

但是我实验中的调试器从不进入响应对应的分支(else-branch)。这样的处理程序应该如何跟踪请求和响应?

我也想知道什么消息被读取为 messageContext.getMessage():是传入(请求)还是出站(响应)

我现在想知道是否可以通过实现 handleMessage() 方法来访问请求和响应?单个处理程序是否会同时拦截请求及其响应?我误解了这个例子吗?

而且... SOAPHandler - 它是每个请求(请求-响应对)的特定实例吗?谢谢