gpt4 book ai didi

java - 如何在apache cxf中的soap header 和Web服务方法之间共享数据

转载 作者:行者123 更新时间:2023-12-01 18:41:33 25 4
gpt4 key购买 nike

我有一个使用 Apache CXF 开发的 SOAP Web 服务。 Web 服务将在 SOAP header 中传递一个参数,我必须将该参数传递给 Web 服务方法。如何在Web服务方法中获取该参数?例如。我的网络服务方法是 getCustomerByName(String name)。请求 SOAP header 将有一个参数,authentication=ticket。我怎样才能在方法内获得这个值(票证)。我尝试了拦截器 - 它们允许获取 header 详细信息,但我应该将其存储在哪里并将其获取到方法主体中。是否有我可以设置的共享上下文或属性?

最佳答案

JAX-WS 有一个可以通过 @Resource 注释注入(inject)的 WebServiceContext 对象。从上下文中,您应该能够获取您在拦截器中设置到消息中的任何内容。

或者

您可以使用 PhaseInterceptorChain.getCurrentMessage() 获取 CXF 的当前消息并检索您需要的任何内容。

或者

您可以将该方法修改为: getCustomerByName(@WebParam(header = true) String auth, String name) 以使 CXF 传入 header 。

关于java - 如何在apache cxf中的soap header 和Web服务方法之间共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789299/

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