在eclipse中使用jax-ws構建webservices服務端和客戶端


服務端:

package com.yinfu.service;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService  
public class TestWebsService {
    public String sayHello(String username) {
        return "Hello: " + username;
    }
    
    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8075/com.yinfu.service.TestWebsService", new TestWebsService());
        System.out.println("Success");
    }
}

 

在想要發布為WebService的類上加上注解@WebService,這個類的方法就變為WebService的方法了,再通過Endpoint的publish方法,發布這個服務,到此,一個最簡單的WebService搞定。運行main方法,在瀏覽器里輸入”http://localhost:8075/com.yinfu.service.TestWebsService?wsdl “ 會看到你的WSDL信息。

OK,說明服務端沒有問題,搭建成功

客戶端:

在命令行輸入命令 wsimport -p [包名] -keep [發布的服務地址?wsdl] 生成客戶端代碼,如生成本例的客戶端代碼wsimport -p com.yinfu.service.client-keep http://localhost:8075/com.yinfu.service.TestWebsService?wsdl“,當然,前提是你已經配好了JAVA環境變量。控制台會顯示

注意現在需要找到生成的客戶端java代碼,控制台指向在那生成的代碼就在哪里,例如我控制台指向的是C:\Users\Administrator\那么我生成的java文件就在C:\Users\Administrator\ com\yinfu\service\client\中,這個地方注意一下就可以了,有很多人不知道生成的代碼去哪里了!

OK,把生成的代碼拷貝到客戶端的項目中,

package com.yinfu.service.client;

public class HelloClient {
    /**
     * @param args
     */
    public static void main(String[] args) {
        TestWebsServiceService myService = new TestWebsServiceService();
        TestWebsService ms = myService.getTestWebsServicePort();
        String s = ms.sayHello("why");
        System.out.println(s);
    }
}

 

利用這些生成的客戶端代碼,就可以調用這個WebService服務了:執行代碼,輸出:Hello why。運行的時候要注意服務端的項目服務是啟動的。


免責聲明!

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



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