CXF 获取SoapHeader问题

发布于 2021-12-02 03:50:34 字数 721 浏览 734 评论 6

请教大家一个关于CXF获取SoapHeader的问题:

       产品中需要实现电信的ISAG服务端,因为CXF和Spring的集成比较方便所以产品中的WebService一直都使用CXF,目前遇到一个问题,就是如何获取SoapHeader,网上找了一下都是通过拦截器方式获取和解析的,但是这样的话该怎么把SoapHeader中的数据传递到到后面的方法中去呢。求解决方案。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

感情旳空白 2021-12-05 09:34:21

你好,我也碰到 这个问题,最后是怎么解决的?知道的话,麻烦告诉下,谢谢

网名女生简单气质 2021-12-05 09:06:10

引用来自“Txijin”的评论

翻了半天的强终于找到了。分享下,以后的同学就不用fang墙了

先在接口实现类中注入

@Resource
private WebServiceContext context;

使用下面代码即可获取

Map<String, Object> headers = context.getMessageContext();
List<Header> headerList = (List<Header>)headers.get(Header.HEADER_LIST);
for (Header header : headerList) {
 Node root = (Node) header.getObject();
System.out.println("soap header name:" + root.getNodeName() + " text:" + root.getTextContent());
			if("RequestSOAPHeader".equals(root.getNodeName())){
NodeList list = root.getChildNodes();
int size = list.getLength();
for(int i=0;i<size;i++){
Node node = list.item(i);
System.out.println("soap header name:" + node.getNodeName() + " text:" + node.getTextContent());
}
}
}

简单气质女生网名 2021-12-05 08:39:13

3Q ~ 正好 解决问题

终止放荡 2021-12-05 08:17:41

谢谢你的解决方案。

你知道为什么从inInterceptor中取不到header信息呢?

丢了幸福的猪 2021-12-05 05:48:09

谢谢你的解决方案。

你知道为什么从inInterceptor中取不到header信息呢?

本王不退位尔等都是臣 2021-12-05 04:32:38

翻了半天的强终于找到了。分享下,以后的同学就不用fang墙了

先在接口实现类中注入

@Resource
private WebServiceContext context;

使用下面代码即可获取

Map<String, Object> headers = context.getMessageContext();
List<Header> headerList = (List<Header>)headers.get(Header.HEADER_LIST);
for (Header header : headerList) {
 Node root = (Node) header.getObject();
System.out.println("soap header name:" + root.getNodeName() + " text:" + root.getTextContent());
			if("RequestSOAPHeader".equals(root.getNodeName())){
NodeList list = root.getChildNodes();
int size = list.getLength();
for(int i=0;i<size;i++){
Node node = list.item(i);
System.out.println("soap header name:" + node.getNodeName() + " text:" + node.getTextContent());
}
}
}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文