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(获取和执行服务将在34中进行)

 

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