gpt4 book ai didi

java - jax-ws:如何获取开始/结束处理传入 soap 消息的句柄

转载 作者:行者123 更新时间:2023-11-29 09:26:02 25 4
gpt4 key购买 nike

情况:Weblogic 应用服务器上的 jax-ws web 服务; wsdl优先开发,外部绑定(bind)文件中的jaxb定制。

我想获得将处理传入的 soap xml 消息的实际 jaxb 上下文的句柄,它被解码为 java 对象之前。

然后我想得到这个 jaxb 上下文的解码器 - 在解码期间实际使用的那个。然后设置这个解码器的一些属性(例如 listener 和 idresolver)。

最佳答案

@UsesJAXBContex注释 JAXBContextFactoryin jaxws 2.1.5 - jaxb 2.2 可能是我需要的。然而 weblogic 10.3.1 使用 jaxws 2.1.1,jaxb 2.1.3。

另一种解决方案是使用:

@WebServiceProvider(portName = "Port", serviceName = "Service", targetNamespace = "tns",                                                                                                        wsdlLocation = "/wsdls/x.wsdl")
@BindingType(value = "http://schemas.xmlsoap.org/wsdl/soap/http")
@ServiceMode(value = javax.xml.ws.Service.Mode.MESSAGE)
public class ServiceProvider implements Provider<SOAPMessage>

这可以访问 soap xml 消息。我仍然需要弄清楚在哪里可以找到方法名称。

代替:

@WebService(portName = "Port", serviceName = "Service", targetNamespace = "tns",
wsdlLocation = "/wsdls/x.wsdl", endpointInterface = "tns.PortType")
@BindingType("http://schemas.xmlsoap.org/wsdl/soap/http")
public class ServicePort implements PortType

关于java - jax-ws:如何获取开始/结束处理传入 soap 消息的句柄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1808032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com