WebService客户端添加SOAPHeader信息
生活随笔
收集整理的這篇文章主要介紹了
WebService客户端添加SOAPHeader信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 个性的女生抖音签名
- 下一篇: SQL Server2008附加数据库之