午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

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

概述

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

先看兩張截圖:

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

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

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

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

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

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

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

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

1、通過(guò)-d命令指定您的java項(xiàng)目src路徑

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

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

4、通過(guò)-keep命令指定webservice路徑

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

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

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

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

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

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

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

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

原鏈接(參考#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('用戶(hù)名', '密碼'.toCharArray()); }}

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

Authenticator.setDefault(new MyAuthenticator());

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

終于搞定了

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

最后是用 Java.Net的Authenticator類(lèi) 把Username和Password直接投過(guò)去(他之后對(duì)位流的處理遵守http的basic身份驗(yàn)證機(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 ());

希望對(duì)以后碰到這個(gè)問(wèn)題的人有用

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 成人免费看片视频在线观看 | 97在线精品 | 蜜桃精品视频在线 | 欧美综合一区二区 | 日韩视频a| www.97se| 视频国产精品 | 日本一区二区在线播放 | 国产成人三级在线播放 | 日韩久久精品 | 一区二区三区四区国产精品 | 久久五月天综合 | 亚洲综合在线观看视频 | 在线天堂资源 | 九九久久精品 | 超碰天天操| 日韩久久久久久久久久久 | 久久国产精品视频 | 成人一级黄色片 | 麻豆成人免费 | 久久免费视频网 | 亚洲性激情 | 国产91在线高潮白浆在线观看 | 成人免费看片98欧美 | 你懂的在线播放 | 免费欧美一级 | 麻豆国产尤物av尤物在线观看 | 久久男女 | 亚洲欧美另类日韩 | 啪啪大秀视频免费观看 | 欧美在线观看不卡 | 日韩美女在线 | 黄色片aaa | 国产精品无 | 色播导航 | 久久免费国产 | 粉嫩av在线播放 | 亚洲视频99| 国产精品久久777777毛茸茸 | 在线看免费av | 草久久久|