使用Eclipse自帶的Axis 1.x來創建一個web service應用的服務端和客戶端
Axis 是SOAP WebService協議實現,SOAP實質上是一個基於HTTP POST的請求,以XML的格式來傳遞請求參數
環境是Eclipse Mars.2 JDK版本是1.8
-
從java source中生成wsdl文件
1.1 在Eclipse中新建一個工程,java project或者 Dynamic Web Project都可以。1.2 在工程中,新建一個package,在package下新建一個接口,以及請求實體和響應實體。接口中定義方法,並實現接口
1.3 選中接口的實現類,右鍵 -> Web Services -> Create Web Service (也可以直接在工程上右鍵 -> new -> other -> Web Service )
1.4 將左邊藍色按鈕拖到 develop選項,然后選擇 next ,這種方式會默認選擇方式為 bottom up java bean web service,
implementtation就是選中的接口的實現類。
1.5 上面一步,繼續選擇next,之后會將Axis的jar包和一些其他的相關jar包copy到項目中,並且在WebContent中生成一些文件,WSDL WSDD文件等
然后直接選擇finish,不要launch。
1.6 完成后,可以看到在webcontent的目錄下,多出這些東西
其中 wsdl文件用於生成 SOAP的server-end和client-end,wsdd文件,用於部署我們的webservice
2 生成 Web Service的 Server-End代碼
生成server端代碼時,可以新建一個工程,也可以在這個工程中把之前的實體類和接口以及接口實現類都刪掉,再去生成服務端代碼
2.1 將wsdl文件放到src下,選中右鍵 -> web services -> Generate Java Bean Skeleton 然后直接 next 然后 next finish
2.2 在SoapBindingImpl這個類中,實現自己的代碼邏輯。
3 發布Web Service
需要將wsdd文件放到和web.xml同級目錄下,也就是WEB-INF下,改名為 server-config.wsdd,這樣在tomcat中啟動工程,就可以發布了
查看是否發布成功,直接在瀏覽器訪問 http://ip:port/services/serverName serverName就是接口實現類的名。
4 生成 Client-End代碼
同樣使用這個wsdl文件,右鍵 ->Web Services -> Generate Client
然后,調成develop模式,next next finish
在Proxy中實現自己的代碼邏輯