WebService客户端添加SOAPHeader信息

通过JAXBContext创建Marshaller对头信息进行解析为dom,获取WSBindingProvider,使用Headers.creat()创建soap的Header元素;

另外就是:将user转换为dom是为了不在有wsdl生成的LicenceInfo类中增加@WebRootElement

 1 public void testAdd_1(){
 2         try {
 3             JAXBContext jaxbc = JAXBContext.newInstance(LicenceInfo.class);
 4             User u = new User();
 5             u.setId(111);
 6             u.setUsername("yyyy");
 7             u.setPassword("oooooo");
 8             LicenceInfo info = new LicenceInfo();
 9             info.setRegisterUser(u);
10             //转化为element进行解析
11             QName qname = new QName("http://www.xiaoqiaolv/ws","licenceInfo");
12             JAXBElement<LicenceInfo> ele = new JAXBElement<LicenceInfo>(qname, LicenceInfo.class, info);
13
14             Marshaller marsh = jaxbc.createMarshaller();
15             marsh.setProperty(Marshaller.JAXB_FRAGMENT, true);
16             marsh.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
17 //            marsh.marshal(ele, System.out);
18             //转化为dom
19             Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
20             marsh.marshal(ele, doc);
21 //            userServiceImpl = new UserServiceImpl();
22 //            userService = userServiceImpl.getUserServiceImplPort();
23             //用下面的四行代替上面的两行内容是为了用tcpmon来监听两个接口之间的通信
24             URL url = new URL("http://localhost:8888/WebService_Server/ws?wsdl");
25             QName  qname1 = new QName("http://www.xiaoqiaolv/ws","UserServiceImpl");
26             userServiceImpl = new UserServiceImpl(url,qname1);
27             userService = userServiceImpl.getUserServiceImplPort();
28             //通过Headers.creat();完成header的添加
29             //获取WSBindingProvider
30             WSBindingProvider wsb = (WSBindingProvider)userService;
31             wsb.setOutboundHeaders(Headers.create(doc.getDocumentElement()));
32
33             User user = new User();
34             user.setUsername("aaa");
35             user.setPassword("1111");
36             user.setId(21212);
37             userService.add(user);
38         } catch (Exception e) {
39             e.printStackTrace();
40         }
41     }

posted on 2014-02-25 20:03 吕展辉 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lvzhanhui/p/xiaoqiaolv_webService_header.html

WebService客户端添加SOAPHeader信息相关推荐

  1. c# WebService添加SoapHeader认证

    1.添加一个cretificate类继承自SoapHeader      public class CertificateSoapHeader:SoapHeader         {         ...

  2. WebService基于SoapHeader实现安全认证[webservice][.net][安全][soapheader]

    摘 自: http://blog.sina.com.cn/s/blog_72b7a82d0100yyp8.html WebService基于SoapHeader实现安全认证[webservice][. ...

  3. 如何使用soapUI模拟webservice客户端发送请求

    随着软件行业的发展,一个完成的系统已经不能使用简单的项目来完成,而是有多个项目之间相互协同工作,项目之间就需要进行即时通讯,现在比较流行的通讯方式是通过webservice服务.比较流程的webser ...

  4. spring整合cxf,轻松编写webService客户端、服务端

    WebService是一种跨编程语言.跨操作系统平台的远程调用技术,广泛应用在实际开发,接口实现,系统集成. 服务端 List item 添加maven依赖 项目中除了spring相关的依赖以外,还需 ...

  5. WebService客户端三种调用方式整理

    1 WebService基础 1.1 作用 1,       WebService是两个系统的远程调用,使两个系统进行数据交互,如应用: 天气预报服务.银行ATM取款.使用邮箱账号登录各网站等. 2, ...

  6. 关于用SoapUI集成CXF生成WebService客户端,以及测试的流程和问题的解决

    项目环境 1.springBoot框架的web系统 2.jdk1.8 3.windows 10 集成 IDEA开发环境 4.SoapUI 5.4.0软件(直接去百度搜索下载) 5.apache-cxf ...

  7. Python之向日志输出中添加上下文信息

    除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...

  8. 在Servlet中向客户端写Cookie信息

    应用Servlet API中提供的Cookie类,用户把表单信息提交给Servlet后,在Servlet中获取用户请求的信息并添加到Cookie对象中,再通过HttpServletResponse对象 ...

  9. 基于Axis服务端的webservice客户端实现

    之前开发webservice客户端的时候遇到一个使用Axis2开发接口的厂家,查资料把Axis1和Axis2客户端的开发方式总结如下: 基于Axis1服务端的客户端实现: /*** 使用Axis Ca ...

最新文章

  1. 让织梦内容页arclist标签的当前文章标题加亮显示
  2. 1090 Highest Price in Supply Chain 需再做
  3. 【JVM】Java变量的种类(提高版)
  4. Poj 2284 That Nice Euler Circuit
  5. C# vs2005中如何获取datagridview中单元格的值
  6. python中if控制语句_Python 极简教程(十二)逻辑控制语句 if else
  7. Android开发笔记(八)神奇的shape
  8. 12.01 晚 心情 阴雨 既然能力支撑不起自己的野心就先沉下心来努力学习好让有一天重新出现在江湖大放光芒...
  9. kettle-连接mysql数据库
  10. 局部连接层(Locally-Connected Layer)
  11. java等待所有子线程执行完毕再执行
  12. 51单片机实战教程(34 线缆摇摆测试机设计)
  13. 8cm等于多少像素_1cm等于多少像素??
  14. Unity编辑器扩展——EditorWindow
  15. 王者荣耀盒子 英雄图片爬取
  16. iOS在Xib加载自定义Xib视图
  17. 如何判断JS拿给我的是不是新机
  18. lvds 共模电感_一文了解共模电感/共模信号/差分信号
  19. 无线传感器网络定位问题的大象群优化算法
  20. 第四代计算机相关资料,当前的计算机一般被认为是第四代计算机,它所采用的逻辑元件是...

热门文章

  1. python redis连接池获取后关闭_python通过连接池连接redis,操作redis队列
  2. oracle添加语句 commit,Oracle COMMIT语句
  3. 多个数字数组_三菱ST语言教学(2)——数组的使用
  4. python数据库框架_Python数据库及ORM框架对比选择
  5. 计算机思维采用抽象和分解,凤凰机器人----什么是计算思维?凤凰机器人的编程课中是如何体现它的?...
  6. linux关机告诉用户,在Linux服务器关机前向用户显示一条自定义消息
  7. linux+任务默认优先级,uclinux内核的任务优先级及其load_weight
  8. linux路由内核实现分析 四,linux路由内核实现分析(二)---FIB相关数据结构(4)
  9. c语言程序计算bmi指数,计算BMI的程序怎么写
  10. EEPW单片机C语言程序设计,基于CH340T的STC89C52RC编程器设计