WebService 學習之路(一):了解並使用webService


webService主要用於向其他系統提供接口以便調用,系統間可能開發語言等完全不同,根據約定的接口規范,調用者傳遞相關參數進行接口調用,服務方根據傳入的條件進行業務處理並進行結果返回。

 

webSercive現在有很多框架支持,並且可以和主流框架如Spring進行集成,更易於操作。推薦使用Apache CXF. 不過今天學習暫時不設計CXF,后期將會以具體實例展示SpringMVC和CXF、restful的集成及使用。 Springmvc集成CXF請看教程二 http://www.cnblogs.com/xiaochangwei/p/5399507.html

 

現在采用最傳統的方式來進行簡單的webService創建及演示。

① 打開eclipse創建一個java工程並新建class,代碼如下:

package webService001;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class WebService001 {

    public void testWebService(String name) {
        System.out.println("Test sucessfully, you input name is :" + name);
    }

    public static void main(String[] args) {
        Endpoint.publish("http://www.xiaochangwei.com:8888/webService/test", new WebService001());
        System.out.println("webService pulish completed!");
    }
}

需要注意的是class上有@Webservice注解.   右鍵 run as javaApplication,待控制台打出public complete,請保持此程序一直運行,不要關閉

打開瀏覽器,輸入publish中的地址,並在末尾加上?wsdl,如:http://www.xiaochangwei.com:8888/webService/test?wsdl   打開后如下即表示發布成功

② 寫客戶端代碼,來進行調用

打開eclise,新建項目,選擇web service client,在新打開的窗口中service defination中輸入 http://www.xiaochangwei.com:8888/webService/test?wsdl,finish后會看見項目中有5個java文件,

XXXXX.java

XXXXXPortBindingStub.java

XXXXXProxy.java

XXXXXService.java

XXXXXServiceLocator.java

這些都是根據wsdl定義文件給我們生成的本地java文件,這樣我們可以像操作本地的java類一樣進行遠程服務的調用

新建ServiceTest.java類進行測試,代碼如下:

package webService001;

public class ServiceTest {

    public static void main(String[] args) throws Exception {
        WebService001 test = new WebService001ServiceLocator().getWebService001Port();
        test.testWebService("xiaochangwei");
    }

}

執行后,由於我們是直接從控制台打出消息,所以需要我們到發布service的eclipse控制台查看打印的信息,當然可以修改為返回String等任意對象,在客戶端顯示

 

上述就是webservice的入門實例,有興趣的朋友請持續關注,近期將發布SpringMVC中集成CXF發布webservice及相關配置、使用等

 

即下面的配置方式,不需要再生成如此多的文件

<jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />

 Springmvc集成CXF請看教程二 http://www.cnblogs.com/xiaochangwei/p/5399507.html


免責聲明!

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



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