1.创建服务器端
创建一个Web Service Project然后建包添加服务器类。
服务器类中包括WebService服务内容以及发布服务的执行。
样例代码:
package org.znufe.ws; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class HelloService { public String getVal(String first, String last){ return "This is " + first + "_" + last; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Endpoint.publish("http://localhost:9001/Service/HelloService", new HelloService()); System.out.println("service success!"); } }
其中getVal()即服务内容(服务内容也可包含多个方法),Endpoint.publish()两个参数表示把指定服务类发布到指定url。
2.创建客户端
创建一个Web Service Project(获取和执行服务将在3、4中进行)
3.获取WebService服务
(1)首先执行服务器类(即运行HelloService类,Run As JavaApplication,运行客户端类也这样),执行成功后可以访问指定url检测是否执行成功。
(2)在cmd中输入如下格式命令,运行命令会自动在指定项目的制定包添加WebService相关文件
-s 后跟参数为客户端项目路径, -p 表示向项目中添加WebService文件的包名,-keep 表示向指定url请求获取文件
wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl
运行成功如图(具体以实际为准):
刷新项目,会看到项目中多了一个类似图中的包以及包中的文件(具体以实际为准):
4.运行WebService服务
添加一个测试运行类
package org.znufe.test; import org.znufe.hello.HelloService; import org.znufe.hello.HelloServiceService; public class ServiceImpl { public static void main(String[] args){ HelloService hello = new HelloServiceService().getHelloServicePort(); String full = hello.getVal("Athrun", "Null"); System.out.println(full); } }
运行之后控制台输出:Athrun_Null