• 隐式的处理SOAPHeader消息


    先用一下比较基础的隐式方式处理我的SOAPHeader消息,注意的是QName的使用,代码如下:

     1 public static void main(String[] args) {
     2         try {
     3             //创建服务
     4             url = new URL("http://localhost:9999/com?wsdl");
             //ns是namespace,即:命名空间
    5 String ns = "http://www.xyw.com/wsdl"; 6 QName qname = new QName(ns,"MyServiceImplService"); 7 Service service = Service.create(url, qname); 8 // 创建服务代理 9 QName pname = new QName(ns,"MyServiceImplPort"); 10 Dispatch<SOAPMessage> dis = service.createDispatch(pname, SOAPMessage.class, Service.Mode.MESSAGE); 11 // 创建消息体 12 SOAPMessage msg = MessageFactory.newInstance().createMessage(); 13 SOAPEnvelope env = msg.getSOAPPart().getEnvelope(); 14 SOAPHeader header = env.getHeader(); 15 SOAPBody body = env.getBody(); 16 //对SOAPHeader进行操作 17 if(header == null) header = env.addHeader(); 18 QName hname = new QName(ns,"headerInfo"); 19 header.addHeaderElement(hname).setValue("MyHeaderInfo"); 20 //对SOAPBody处理 21 QName bname = new QName(ns,"add","ns"); 22 SOAPBodyElement sbe = body.addBodyElement(bname); 23 sbe.addChildElement("a").setValue("21"); 24 sbe.addChildElement("b").setValue("4"); 25 26 msg.writeTo(System.out); 27 System.out.println(" invoking..."); 28 //调用方法并返回SOAPMessage 29 SOAPMessage smresponse = dis.invoke(msg); 30 System.out.println(smresponse); 31 smresponse.writeTo(System.out); 32 } catch (Exception e) { 33 e.printStackTrace(); 34 } 35 36 }
    我很小我很弱,我在慢慢成长!
  • 相关阅读:
    SPI总线介绍
    linuxok6410的I2C驱动分析---用户态驱动
    Centos下安装Mongodb
    python学习笔记(二):python数据类型
    python学习笔记(三):文件操作和集合
    python实现显示安装进度条
    python判断一个字符串是否是小数
    python学习笔记(四):函数
    python学习笔记(五):装饰器、生成器、内置函数、json
    python学习笔记(七):面向对象编程、类
  • 原文地址:https://www.cnblogs.com/lvzhanhui/p/xiaoqiaolv_webservice_soapheader.html
Copyright © 2020-2023  润新知