SOAP XML发送请求以及 返回的XML解析---webservice

Posted on   jiaoqing。  阅读(770)  评论(0编辑  收藏  举报
复制代码
/**
     * 
     * @param soapXml 请求结果string
     * @param c   要转换成的java对象
     * @param <T>
     * @return
     */
public static <T> T soapXmlToBean(String soapXml,Class<T> c){
        Iterator<SOAPElement> iterator = null;
        T t = null;
        try {
            //javax.xml.soap类MessageFactory
            MessageFactory msgFactory = MessageFactory.newInstance();
            //创建一个soapmessage对象
            SOAPMessage reqMsg = msgFactory.createMessage(new MimeHeaders(),
                    new ByteArrayInputStream(soapXml.getBytes("UTF-8")));
            reqMsg.saveChanges();
            //取出soapBoby对象
            SOAPBody body = reqMsg.getSOAPBody();
            遍历子节点
            iterator = body.getChildElements();
        }catch (Exception e){
            e.printStackTrace();
        }
        while (iterator.hasNext()) {
            SOAPElement element = iterator.next();
            logger.info("节点名称---:"+element.getNodeName());
            if("multiRef".equals(element.getNodeName())){
                Iterator<SOAPElement> it = element.getChildElements();
                SOAPElement el = null;
                while (it.hasNext()) {
                    el = it.next();
                    //取到content子节点的值
                    if ("content".equals(el.getNodeName())) {
                        logger.info("子节点值---:"+el.getValue());
                        //这里是调用工具来将content中的xml转换成java对象
                        t = XmlConverterUtil.analyzeXmlToBean(el.getValue(),c);
                        break;
                    }
                }
                break;
            }
        }
        return t;
    }
复制代码

 

转载:https://blog.csdn.net/zz_lk_xx/article/details/84978699

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2021-04-07 【linux】【tomcat】linux下定时重启tomcat 【CentOS 6.4】【CentOS 7.6】

随笔 - 287, 文章 - 0, 评论 - 3, 阅读 - 42万

Copyright © 2025 jiaoqing。
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示