日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

WebService客户端添加SOAPHeader信息

發布時間:2023/11/27 生活经验 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。