java - 如何将入站和出站 SOAP 处理程序相互关联

标签 java soap weblogic

http://docs.oracle.com/javaee/5/api/javax/xml/ws/handler/soap/SOAPHandler.html

如何将入站 handleMessage(SOAPMessageContext) 调用与出站 handleMessage(SOAPMessageContext) 关联起来。

我尝试了一些方法,Weblogic 不重用上下文对象,因此引用检查不起作用。我找不到任何明确指示请求的属性,因此我似乎无法在请求和响应之间创建链接。

或者是否有更好的方法来获取有问题的 Web 逻辑上的请求和响应并将其关联在一起,以便可以将它们转储到数据库以供将来调试之用。

最佳答案

好吧,这可能不适用于 JAX-WS 的所有实现,但对于 weblogic 来说确实如此。

我做了什么

public final boolean handleMessage(SOAPMessageContext context) {
    // Using `Object` type as we don't have any need to import servlet libraries into a JAX-WS library
    Object o = context.get(MessageContext.SERVLET_REQUEST);
    // o will hold a reference to the request 
    // if inbound.o == outbound.o the request objects are identical and therefor we can associate them.
    return true;
}

我不明白为什么这在其他容器中不起作用,但请在使用此方法之前仔细检查。

关于java - 如何将入站和出站 SOAP 处理程序相互关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14821706/

相关文章:

java - 如何在命令行中运行 Java 项目

java - 生成 WSDL 时删除 Nillable ="true"

java - 强制 LeadingMarginSpan2 的文本方向

ios - ASIHTTP请求委托(delegate)

IOS - 使用基于传输的安全性 (HTTPS) 调用 soap web 服务

java - 如何在 weblogic 12C 中使用 REST 异步部署应用程序?

java - 压缩Weblogic日志

java - 构建具有不同列数的 html 表

ios - 如何使用 soap Web 服务 ios 的字典将值存储在数组中

java - Weblogic 错误 : Caused by: weblogic. transaction.internal.AppSetRollbackOnlyException:在事务上调用 setRollbackOnly