首先編寫 Servicejava
package service;web
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* 一個簡單的webService demo 類,使用 @WebService 註解申明 這是一個 webService 類
*/瀏覽器
@WebService
public class JwsServiceDemo {.net
/**
* WebService 註解中的方法會被髮布到服務中去
* @param Name
* @return
*/
public String helloJws(String userName) {
return " Hello dear " + userName;
}
public String helloEverybody(String userName) {
return " Hello dear " + userName;
}
/**
* 靜態方法不會發布到webService 上面
* @param Name
* @return
*/
public static String helloJwsStatic(String Name) {
return " Hello dear " + Name;
}
/**
* 添加WebMethod註解 且其中exclude 且屬性等於 true 的時候不會發布到服務上面去
* @param Name
* @return
*/
@WebMethod(exclude=true)
public String hellJwsMethod(String Name) {
return " Hello dear " + Name;
}
public static void main(String[] args) {
/*
* 調用javax.xml.ws.EndPoint 中的publish 來發佈一個服務
* 參數 服務發佈的地址,端口
* 提供服務的類
*/
Endpoint.publish("http://localhost:8084/Service", new JwsServiceDemo());
System.out.println("WebServie 服務地啓動成功 ~~~");
}
}命令行
在啓動成功後能夠在瀏覽器中輸入 http://localhost:8084/Service?wsdl 。注意 ? 是英文狀態xml
若是啓動無誤的話就可以後看到 Service.xml 的配置文件,其中能夠看到 webService 中的方法,參數等類容get
而後下載 webService 中的類 在系統中在命令行中使用 Java命令編譯器
wsimport -keep -p com.deom.webService http://localhost:8084/Service?wsdl編譯
wsimport 中的詳細類容 能夠使用 wsimport -help 進行查看class
導出時注意 寫好包名 即com.deom.webService 保證將 .java 文件導入到編譯器中的時候不會出現要修改包名的狀況,若是修改包名有可能會出現錯誤。
寫好webService 服務類,導出具體的服務端代碼文件以後,就能夠調用服務端的 webService 端口了。
import com.deom.webService.JwsServiceDemo;
import com.deom.webService.JwsServiceDemoService;
/**
* webSerivce 客戶端簡單案例
*
*/
public class DemoWebCient {
public static void main(String[] args) {
/*
* new 一個webService服務
* 用過服務的端口拿到對用的方法,每一個webService 中的方法都會生成一個 對應的方法類
* 經過這個方法類再調用 webService中的方法
*/
JwsServiceDemoService jws = new JwsServiceDemoService();
JwsServiceDemo hello = jws.getJwsServiceDemoPort();
System.out.println(hello.helloJws("Bob"));
}
}
完成上述操做 而且控制帶打印出 Hello dear Bob 完成了一個webService 客戶端調用 服務端的操做