根據wsdl生成服務端代碼

轉載: https://www.cnblogs.com/wangsen/p/5777541.html.

場景描述

最近在和一家公司做業務接口對接,由他們那邊回調我們這邊,對方直接扔過來一個webservice的wsdl文件,讓我們按照他們的規範來做webservice服務,
大多數的對接應該是我們創建完服務端的webservice服務,讓其他公司根據我們的wsdl文件去開發客戶端,但是,大公司就是這樣,必須要按照他們的規範來。
那問題來了,怎麼根據wsdl文件創建服務端呢?

查看wsdl文件的順序是從下往上

請大家銘記查看wsdl文件的順序是從下往上看的,不然,你會看懵逼的。

第一步:確定接口的名稱

service節點上的name屬性值就是這個接口類的名稱;

也就是說如果你要根據wsdl文件創建服務端的話就需要你去創建一個名字爲:IHelloWord的接口。

第二步:確定接口中都有哪些方法以及方法的名稱

找binding節點下的operation子節點中的name屬性值

一個operation節點就代碼一個方法,也就是在接口中聲明幾個方法。

第三步:確定接口中方法的參數類型,順序

假設我要找sayHello方法的參數類型和順序;

1:找出binding節點對應的porttype節點

2:找出porttype中每一個operation中的input和output對應的message

3:找到message中對應


從上面圈住的部分可以看出來:
sayHello方法有兩個參數,第一個參數的類型爲String,第二個參數的類型爲int。
可以對比一下接口中的方法:

第四步:找出這個服務類中方法的返回值類型

1:找出這個方法所在的porttype節點

2:找出這個porttype中operation中的output指向的message節點

3:找到tyeps節點下name屬性值爲sayHelloResponse的element節點


從上圖中圈住的部分就可以看出,這個返回值爲String類。
對比java代碼;

第五步:確定對外提供服務的url地址

service中的address節點中有一個location的地址就是對外提供調用的地址

這裏的url的第一級目錄和二級目錄會影響我們的配置;
一級目錄影響的是:web.xml中監聽器的匹配規則

二級目錄影響的是:註冊webservice服務的時候指定的名稱

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章