最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA WSIMPORT生成WEBSERVICE客戶端401認證過程圖解

 更新時間:2020年10月10日 11:46:59   作者:liness0713  
這篇文章主要介紹了JAVA WSIMPORT生成WEBSERVICE客戶端401認證過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

概述

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

先看兩張截圖:

使用瀏覽器打開webservice出現的界面:

使用瀏覽器打開webservice出現的界面

使用wsimport生成webservice客戶端出現401錯誤:

使用wsimport生成webservice客戶端出現401錯誤 

需用到的命令參數如下:

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

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

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

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

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

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

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

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

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

第三步 在MyEclipse工具中找到對應的項目右鍵刷新

右鍵刷新項目 

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

第四步 嘗試調用webservice接口函數并運行項目

這里寫圖片描述 

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

原鏈接(參考#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());
  }
}

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

Authenticator.setDefault(new MyAuthenticator());

操作成功

終于搞定了

直接用HttpURLConnection是不行的,這個默認只是80端口。

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

代碼很短:

import java.net.Authenticator;
import java.net.PasswordAuthentication;

class  MyAuthenticator  extends  Authenticator  {
 protected  PasswordAuthentication  getPasswordAuthentication()  {
  return  new  PasswordAuthentication  ( "username ",  "password ");
 }
}

在程序中調用:

Authenticator.setDefault (new MyAuthenticator ());

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 啟動springboot應用因未配置數據庫報錯的解決方案

    啟動springboot應用因未配置數據庫報錯的解決方案

    這篇文章主要介紹了啟動springboot應用因未配置數據庫報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java實現簡易計算器功能

    java實現簡易計算器功能

    這篇文章主要為大家詳細介紹了java實現簡易計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • java實現撲克牌牌面小程序

    java實現撲克牌牌面小程序

    這篇文章主要為大家詳細介紹了java實現撲克牌牌面小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Java中序列化和反序列化的完整講解

    Java中序列化和反序列化的完整講解

    序列化是將對象轉換成二進制字節(jié)流的過程;反序列化是從二進制字節(jié)流中恢復對象的過程。文中將為大家詳細講講二者的原理與實現,需要的可以參考一下
    2022-11-11
  • 解析Java8 Stream原理

    解析Java8 Stream原理

    說起 Java 8,我們知道 Java 8 大改動之一就是增加函數式編程,而 Stream API 便是函數編程的主角,Stream API 是一種流式的處理數據風格,也就是將要處理的數據當作流,在管道中進行傳輸,并在管道中的每個節(jié)點對數據進行處理,如過濾、排序、轉換等
    2021-06-06
  • 淺析java中 Spring MVC 攔截器作用及其實現

    淺析java中 Spring MVC 攔截器作用及其實現

    本篇文章主要介紹了java中SpringMVC 攔截器的使用及其實例,需要的朋友可以參考
    2017-04-04
  • Mybatis in條件傳參的三種實現方式(直接$,List,[])

    Mybatis in條件傳參的三種實現方式(直接$,List,[])

    這篇文章主要介紹了Mybatis in條件傳參的三種實現方式(直接$,List,[]),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 解決@FeignClient注入service失敗問題

    解決@FeignClient注入service失敗問題

    這篇文章主要介紹了解決@FeignClient注入service失敗問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java中的RestTemplate使用詳解

    Java中的RestTemplate使用詳解

    這篇文章主要介紹了Java中的RestTemplate使用詳解,Spring內置了RestTemplate作為Http請求的工具類,簡化了很多操作,雖然Spring5推出了WebClient,但是整體感覺還是RestTemplate用起來更簡單方便一些,需要的朋友可以參考下
    2023-10-10
  • spring cloud config分布式配置中心的高可用問題

    spring cloud config分布式配置中心的高可用問題

    本文給大家介紹spring cloud config分布式配置中心的高可用問題,通過整合Eureka來實現配置中心的高可用,需要的朋友參考下本文
    2018-01-01

最新評論

陕西省| 万荣县| 五原县| 普兰店市| 曲阳县| 屯门区| 马山县| 青海省| 龙岩市| 南华县| 青海省| 青川县| 青铜峡市| 苍山县| 汝城县| 石阡县| 崇信县| 凤山市| 旬邑县| 甘洛县| 鹿邑县| 绩溪县| 土默特左旗| 日照市| 太仆寺旗| 海淀区| 东明县| 牟定县| 建宁县| 大名县| 射洪县| 临江市| 宜宾市| 将乐县| 平利县| 如皋市| 景洪市| 烟台市| 苏尼特右旗| 北辰区| 开化县|