idea 開發webService

二、新建項目

進入File > New Project…菜單打開新建項目窗口,依次選擇Java、WebServices,Version項選擇Apache Axis,Libraries項選擇 Download。而後點擊Next按鈕進入下一頁。java

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

三、項目初始結構

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

package example;/**瀏覽器

* Created by Administrator on 2015/7/30.tomcat

*/服務器

public class HelloWorld {app

public String sayHelloWorldFrom(String from) {ide

String result = "Hello, world, from " + from;工具

System.out.println(result);spa

return result;

}

}

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

四、生成 WSDL 文件

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

而後在出現的窗口裏點擊肯定按鈕。

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

五、啓動服務

啓動服務這裏稍微有點複雜,由於要配置 Tomcat 服務器。先喝口茶再繼續往下看。

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

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

而後在添加的Tomcat Server配置頁面中添加配置的Name、Application server和HTTP 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

訪問結果以下:

六、從 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>標籤下,用於對外發布。

運行項目的結果以下:

七、輸出 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>

相關文章
相關標籤/搜索