1.接口
package cn.cjc.ws;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService
// jdk1.6.0_22版本以下的不加這個註解可能無法發佈WS服務
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface Message {
String getMsg(String name);
}
2.實現類
package cn.cjc.ws;
import javax.jws.WebService;
@WebService(endpointInterface = "cn.cjc.ws.Message")
public class MessageImpl implements Message {
@Override
public String getMsg(String name) {
return name + ",歡迎學習WebService";
}
}
3.發佈服務
package cn.cjc.ws;
import javax.xml.ws.Endpoint;
public class Pub {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8888/msg", new MessageImpl());
}
}
4.調用服務
a)在IDE中另建一個工程,目錄爲D:\MyEclipseWorkspace\invoke
b)在CMD命令行輸入命令wsimport -s D:\MyEclipseWorkspace\invoke\src http://localhost:8888/msg?wsdl,用來生成WS客戶端調用代碼,其中wsimport是JDK自帶的命令,-s表示生成源代碼,D:\MyEclipseWorkspace\invoke\src表示源代碼會在該目錄下生成,http://localhost:8888/msg?wsdl是WS服務的發佈地址。
c)調用
package cn.cjc.ws;
public class Invoke {
public static void main(String[] args) {
Message service = new MessageImplService().getMessageImplPort();
System.out.println(service.getMsg("Junki"));
}
}
d)輸出結果
Junki,歡迎學習WebService
5.結束語
以上就是JDK原生支持的WebService從建立、發佈到調用的整個過程。下一章會分析WebService的協議XML文件和一些個性化設置