根據wsdl生成服務端代碼

場景描述

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

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

請你們銘記查看wsdl文件的順序是從下往上看的,否則,你會看懵逼的。
web

第一步:肯定接口的名稱

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

也就是說若是你要根據wsdl文件建立服務端的話就須要你去建立一個名字爲:IHelloWord的接口。
url

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

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

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

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

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

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

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

3:找到message中對應


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

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

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

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

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


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

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

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

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

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

相關文章
相關標籤/搜索