IntelliJ IDEA 開發 WebService 轉


轉 http://www.biliyu.com/article/986.html

1、環境

  • IntelliJ IDEA 14.0.2
  • JAVA 1.6
  • Tomcat 7

2、新建項目

進入File > New Project…菜單打開新建項目窗口,依次選擇JavaWebServicesVersion項選擇Apache AxisLibraries項選擇 Download。然后點擊Next按鈕進入下一頁。

在下一頁中輸入項目名稱,然后點擊Finish按鈕開始下載依賴包。依賴包下載完成后進入新建的項目。

3、項目初始結構

src/example目錄下自動創建了一個 HelloWold 類:

package example;/** * Created by Administrator on 2015/7/30. */ public class HelloWorld { public String sayHelloWorldFrom(String from) { String result = "Hello, world, from " + from; System.out.println(result); return result; } }

web/WEB-INF目錄下創建一個server-config.wsdd服務配置文件。

4、生成 WSDL 文件

HelloWorld.java文件上點擊右鍵,選WebServices > Generate Wsdl From Java Code 。

然后在出現的窗口里點擊確定按鈕。

HelloWorld.java所在目錄會生成一個HelloWorld.wsdl文件。

5、啟動服務

啟動服務這里稍微有點復雜,因為要配置 Tomcat 服務器。先喝口茶再繼續往下看。

選擇Run > Edit Configurations…菜單,打開Run/Debug Configurations窗口。

Run/Debug Configurations窗口里添加+按鈕,在出現的菜單里選擇Tomcat Server > Local。如果看不到Tocmat Server菜單項,則點擊最下面的29 items more (irelevant)…菜單項查找。

然后在添加的Tomcat Server配置頁面中添加配置的NameApplication serverHTTP Port。如果Application server為空,將本地的 Tomcat 安裝地址添加進來。如果本地沒有,從網上下載 Tomcat 7:

https://tomcat.apache.org/download-70.cgi

這時配置頁面底部可能會顯示有Warning:No Artifacts marked for deployment(警告:沒有標記要部署的產物)。

點擊警告信息右側的Fix…按鈕切換到Deployment標簽頁。

Deployment標簽頁點擊Deploy at the server startup區的+按鈕,選擇Artifacts

添加 Artifact 后的界面如下,已經沒有警告了。點擊OK完成運行參數的配置。

到這個時候,然后可以運行起服務了,但是訪問服務頁面時還是會報錯。因為還要給部署的 Artifact 添加 Apache Axis 包的依賴。

選擇File> Project Structure…菜單。

在出現的窗口中選擇Project Settings > Artifacts,會到在新的警告信息。點擊警告信息右側的Fix…按鈕。

在彈出菜單里選擇Add 'JAX-WS-Apache Axis' to the artifact

修復完成后警告消失。

點擊工具欄上的運行或調試按鈕運行服務。

然后在瀏覽器里輸入:

http://localhost:8080/services

訪問結果如下:

6、從 WSDL 文件生成服務端代碼

WSDL 文件可以用來生成客戶端代碼,也可以用來生成服務端代碼。客戶端代碼用於訪問遠程服務,服務端代碼用於提供遠程服務。在 IntelliJ IDEA 里這兩個操作是類似的。這里主要講述服務端代碼的生成。

一個 WSDL 文件對應一個 JAVA 類,比如前面的HelloWorld.wsdl文件對應HelloWorld.java。復雜的 WSDL 文件除了對應有一個主類外,還會有輔助類,比如主類方法中使用到的 Bean 等。

這里假設要將主類生成到 services 包目錄下,那么在src/services(沒有的自己創建一個)目錄上點擊右鍵,在出現在的菜單中選擇WebService > Genarete Java Code From Wsdl…

在出現的窗口是選擇遠程 WSDL 的地址,或者選擇本地的 WSDL 文件,然后選擇Output mode(輸出模式)。這里作者選擇成功server生成服務端代碼, 用於對外提供服務。當然也可以選擇client生成客戶端代碼用於訪問遠程服務。

下面是電信 TSM WebService 的 WSDL 文件生成的代碼文件列表:

點擊OK按鈕后生成對應的文件。其中包含一個名為deploy.wsdd的文件,將該文件中的service標簽復制到web/WEB-INF/service-config.wsdd文件的<deployment>標簽下,用於對外發布。

運行項目的結果如下:

7、輸出 WSDL 文件

如果手動寫的service-config.wsdd文件,可能不能訪問 WSDL 文件。這個時候可以在server-config.wsdd文件的<deployment>標簽下手動添加<transport>標簽。內容如下:

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <transport name="http"> <requestFlow> <handler type="java:org.apache.axis.handlers.http.URLMapper"/> </requestFlow> </transport> ... </deployment> 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM