开发者社区> 问答> 正文

CXF 获取SoapHeader问题

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

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

展开
收起
a123456678 2016-03-18 15:16:31 3018 0
1 条回答
写回答
取消 提交回答
  • 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());
    }
    }
    }
    2019-07-17 19:06:48
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载