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

JDK生成WebService客戶端代碼以及調(diào)用方式

 更新時(shí)間:2024年08月17日 11:39:23   作者:快快樂(lè)樂(lè)l  
WebService 是一種跨編程語(yǔ)言和跨操作系統(tǒng)平臺(tái)的遠(yuǎn)程調(diào)用技術(shù),下面這篇文章主要給大家介紹了關(guān)于JDK生成WebService客戶端代碼以及調(diào)用方式的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

TODO服務(wù)端搭建

1.WSDL結(jié)構(gòu)

1)<service>:服務(wù)視圖,WebService的服務(wù)端點(diǎn)

2)<binding>:WebService的通信協(xié)議,還描述WebService的方法輸入、輸出

3)<portType>:描述了WebService可執(zhí)行的操作,通過(guò)binding指向portType

4)<message>:描述了服務(wù)中發(fā)布的方法,包括參數(shù)返回值

5)<type>:定義了WebService中使用的數(shù)據(jù)類型

2.生成客戶端代碼

通過(guò)wsimport命令生成客戶端代碼(windows:建議直接通過(guò)cmd進(jìn)入到項(xiàng)目的src目錄下)

1、遠(yuǎn)程地址:wsimport -s . 接口地址?wsdl

2、xml文件:wsimport -s . xml文件地址

3.按照服務(wù)說(shuō)明書(shū)編程(查找關(guān)鍵點(diǎn))

1、<wsdl:service name="ModeDateService">:創(chuàng)建ModeDateService的對(duì)象
2、實(shí)現(xiàn)類
    <wsdl:portType name="ModeDateServicePortType">:ModeDateServicePortType:實(shí)現(xiàn)類的名稱
3、方法
    <wsdl:portType name="ModeDateServicePortType">標(biāo)簽下的<wsdl:operation name="saveModeData">
當(dāng)服務(wù)調(diào)用失敗時(shí)候:
    <s:any element ref="s:schema"/><s:any>修改為<s:any minOccurs="2" maxOccurs="2"/>

4.生成后便可直接調(diào)用,調(diào)用方式有兩種

4.1.調(diào)用客戶端代碼的以一種方式:使用wsimport 命令,生成客戶端代碼然后再調(diào)用

生成后直接創(chuàng)建服務(wù)試圖獲取服務(wù)實(shí)現(xiàn)類調(diào)用方法即可

//1、創(chuàng)建服務(wù)視圖(視圖是從service標(biāo)簽的name屬性獲?。?
WeatherServiceImplService weatherServiceImplService = new WeatherServiceImplService();
//2、獲取服務(wù)實(shí)現(xiàn)類(實(shí)現(xiàn)類從portType的name屬性獲?。?
WeaterServiceImpl serviceImpl = weatherServiceImplService.getPort(WeatherServiceImpl.class);
//3、調(diào)用方法(從portType的operation標(biāo)簽中獲?。?
String result = serviceImpl.queryWeather("寧波");
//4、輸出服務(wù)單返回的結(jié)果
System.out.println(result);

4.2.調(diào)用客戶端代碼的第二種方式:使用jdk原生代碼實(shí)現(xiàn)調(diào)用

1.webservice服務(wù)端發(fā)布地址

2.webservice服務(wù)發(fā)布的接口類

3.參數(shù)和返回值實(shí)體類

public class Client{
	public static void main(String[] args) throws MalformedURLException{
	    
		URL url = new URL("http://localhost:8080/weatherService?wsdl");
		// 指定命名空間和服務(wù)名稱
		QName qName = new QName("http://webservice.qf.com","WeatherServiceImplService");
		Service service = Service.create(url,qName);
		// 通過(guò)getPort方法返回指定接口,以下兩種調(diào)用都可以,個(gè)人更喜歡使用上邊的
		WeatherServiceImpl port = service.getPort(WeatherServiceImpl.class);
		//WeatherServiceImpl port = service.getPort(new QName("http://webservice.qf.com","WeatherService"),WeatherServiceImplService.clasee)
		// 查詢輸出
		String query = port.query("寧波");
		System.out.println(query);
	}
}

5.WebService客戶端調(diào)用方法還有很多,個(gè)人使用較多的還是以上兩種,如果有興趣還可以自行百度一下,例如:

5.1.Axis或Axis2調(diào)用WebService

5.2.代理工廠的方式

5.3.使用httpClient的方式調(diào)用,需要借助第三方工具SoapUI獲取請(qǐng)求xml數(shù)據(jù)格式的內(nèi)容,同時(shí)請(qǐng)求響應(yīng)內(nèi)容是xml格式內(nèi)容

5.4.cxf類庫(kù) 兩種調(diào)用方式

總結(jié)

到此這篇關(guān)于JDK生成WebService客戶端代碼以及調(diào)用方式的文章就介紹到這了,更多相關(guān)JDK生成WebService客戶端內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何使用axis調(diào)用WebService及Java?WebService調(diào)用工具類

    如何使用axis調(diào)用WebService及Java?WebService調(diào)用工具類

    Axis是一個(gè)基于Java的Web服務(wù)框架,可以用來(lái)調(diào)用Web服務(wù)接口,下面這篇文章主要給大家介紹了關(guān)于如何使用axis調(diào)用WebService及Java?WebService調(diào)用工具類的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • IDEA2023創(chuàng)建MavenWeb項(xiàng)目并搭建Servlet工程的全過(guò)程

    IDEA2023創(chuàng)建MavenWeb項(xiàng)目并搭建Servlet工程的全過(guò)程

    Maven提供了大量不同類型的Archetype模板,通過(guò)它們可以幫助用戶快速的創(chuàng)建Java項(xiàng)目,這篇文章主要給大家介紹了關(guān)于IDEA2023創(chuàng)建MavenWeb項(xiàng)目并搭建Servlet工程的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件

    IDEA神器一鍵查看Java字節(jié)碼及其他類信息插件

    這篇文章主要為大家介紹了一款I(lǐng)DEA神器,可以一鍵查看Java字節(jié)碼及其他類信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-01-01
  • SpringBoot+Redis+Lua實(shí)現(xiàn)接口限流的示例代碼

    SpringBoot+Redis+Lua實(shí)現(xiàn)接口限流的示例代碼

    本文主要介紹了SpringBoot+Redis+Lua實(shí)現(xiàn)接口限流的示例代碼,利用AOP攔截請(qǐng)求,通過(guò)Redis記錄訪問(wèn)次數(shù),達(dá)到限流效果,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-09-09
  • Java操作Redis2種方法代碼詳解

    Java操作Redis2種方法代碼詳解

    這篇文章主要介紹了Java操作Redis2種方法代碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Java設(shè)計(jì)模式之抽象工廠模式

    Java設(shè)計(jì)模式之抽象工廠模式

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之抽象工廠模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Java讀寫(xiě)Cookie記錄的方法

    Java讀寫(xiě)Cookie記錄的方法

    這篇文章主要介紹了Java讀寫(xiě)Cookie記錄的方法,實(shí)例分析了java針對(duì)cookie記錄讀取與寫(xiě)入的技巧,需要的朋友可以參考下
    2015-05-05
  • spring-boot中使用spring-boot-devtools的實(shí)現(xiàn)代碼

    spring-boot中使用spring-boot-devtools的實(shí)現(xiàn)代碼

    這篇文章主要介紹了spring-boot中使用spring-boot-devtools的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • IDEA中的yml文件與properties互相轉(zhuǎn)換

    IDEA中的yml文件與properties互相轉(zhuǎn)換

    這篇文章主要介紹了IDEA中的yml文件與properties互相轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java實(shí)現(xiàn)自定義table寬高的示例代碼

    Java實(shí)現(xiàn)自定義table寬高的示例代碼

    在桌面應(yīng)用、管理系統(tǒng)乃至報(bào)表工具中,表格(JTable)作為最常用的數(shù)據(jù)展示組件,不僅承載對(duì)數(shù)據(jù)的增刪改查,還需要配合布局與視覺(jué)需求,而 Java Swing 的 JTable 默認(rèn)行高和列寬均采用系統(tǒng)或 L&F 的默認(rèn)值,所以本文給大家介紹了Java實(shí)現(xiàn)自定義table寬高
    2025-06-06

最新評(píng)論

旬邑县| 德惠市| 许昌县| 普兰店市| 疏附县| 镇宁| 芷江| 东阳市| 西峡县| 南汇区| 梁山县| 万载县| 嘉祥县| 邮箱| 宁强县| 兴山县| 双峰县| 福安市| 江源县| 恭城| 鹿泉市| 湟中县| 华池县| 句容市| 织金县| 平原县| 工布江达县| 招远市| 健康| 南召县| 西林县| 临汾市| 万州区| 米泉市| 柏乡县| 海伦市| 余干县| 江安县| 富民县| 礼泉县| 昌都县|