av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

瀏覽:5日期:2022-08-23 08:16:25

概述

wsimport是jdk自帶的命令,可以根據(jù)wsdl文檔生成客戶端中間代碼,基于生成的代碼編寫客戶端,可以省很多麻煩。

先看兩張截圖:

使用瀏覽器打開webservice出現(xiàn)的界面:

JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

使用wsimport生成webservice客戶端出現(xiàn)401錯誤:

JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

需用到的命令參數(shù)如下:

1. -d <directory> 在指定的目錄生成class文件2. -p <pkg> 指定生成文件的包結(jié)構(gòu)3. -Xauthfile <filepath> 在格式文件進(jìn)行授權(quán)信息4. -keep <url> 在生成class文件,或者jar包時,同時保留java源文件

第一步 創(chuàng)建wsimport生成ws命令行

wsimport -d D:JAVAwrokspace您的項目src -p com.xx.web -Xauthfile D:JAVAwrokspace您的項目authfile.txt -keep http://xxxx:9000/Service.asmx?wsdl

1、通過-d命令指定您的java項目src路徑

2、通過-p命令指定需生成包結(jié)構(gòu)(指定之后會自動生成)

3、通過-Xauthfile命令指定訪問帶有401認(rèn)證的webservice授權(quán)文件(文件路徑或文件名可以隨意更改 特別簡單,請放心)。

4、通過-keep命令指定webservice路徑

第二步 創(chuàng)建授權(quán)文件(authfile.txt)

http://test:123456@192.168.110.21:9000/Service.asmx?wsdl

第三步 在MyEclipse工具中找到對應(yīng)的項目右鍵刷新

JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

備注:生成完成之后項目可能會出現(xiàn)錯誤,將錯誤稍作修改至沒有異常即可。

第四步 嘗試調(diào)用webservice接口函數(shù)并運(yùn)行項目

JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

出現(xiàn)了 Server returned HTTP response code: 401異常,雖然ws成功導(dǎo)入到項目中了但是項目訪問接口的時候沒有進(jìn)行身份認(rèn)證導(dǎo)致出現(xiàn)該異常。我已經(jīng)在論壇里面找到這個方法的解決方案,

原鏈接(參考#10):http://bbs.csdn.net/topics/370023850

import java.net.Authenticator;import java.net.PasswordAuthentication; public class MyAuthenticator extends Authenticator { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication('用戶名', '密碼'.toCharArray()); }}

調(diào)用的時候只需要在調(diào)用接口之前調(diào)用執(zhí)行該方法即可:

Authenticator.setDefault(new MyAuthenticator());

JAVA WSIMPORT生成WEBSERVICE客戶端401認(rèn)證過程圖解

終于搞定了

直接用HttpURLConnection是不行的,這個默認(rèn)只是80端口。

最后是用 Java.Net的Authenticator類 把Username和Password直接投過去(他之后對位流的處理遵守http的basic身份驗證機(jī)制)

代碼很短:

import java.net.Authenticator;import java.net.PasswordAuthentication;class MyAuthenticator extends Authenticator { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication ( 'username ', 'password '); }}

在程序中調(diào)用:

Authenticator.setDefault (new MyAuthenticator ());

希望對以后碰到這個問題的人有用

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国产精品精品视频一区二区三区 | 中文字幕在线观看 | 国产成人精品免高潮在线观看 | 日本成人免费观看 | 久久久久亚洲精品中文字幕 | 欧产日产国产精品视频 | 精品国产乱码久久久久久丨区2区 | 亚洲自拍偷拍免费视频 | 99福利视频 | 午夜影晥| 北条麻妃av一区二区三区 | 99精品国产一区二区三区 | 久久99深爱久久99精品 | 婷婷色在线 | 国产精品视频一区二区三区四区国 | 国产国拍亚洲精品av | 久久久亚洲一区 | 久久亚洲国产精品 | 精品美女视频在线观看免费软件 | 一级在线 | 国内精品久久久久久影视8 最新黄色在线观看 | 成人在线视频网 | 久久久国产一区二区三区四区小说 | 久久精品亚洲 | 国产高清精品一区二区三区 | 中国美女av | 欧美精品福利 | 成人免费在线播放视频 | 久久成人免费视频 | 97国产精品 | 免费观看av | 国产玖玖 | 综合网在线 | 中文字幕精品视频 | 精品自拍视频 | 亚洲自拍一区在线观看 | 亚洲欧美在线视频 | 国产91丝袜在线18 | www.久久久.com| 农村真人裸体丰满少妇毛片 | 国产欧美精品在线观看 |