1.服务端代码。
package com.cn.service;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* 注意JDK为1.6以上,否则编译会报错
* @author LQT
*
*/
@WebService
public class WebserviceHello {
/**
* 必须定义一个方法,且此方法不能是static的,不能是final
* 供客户端调用 的方法
* @param name 传入的参数
* @return resultName 返回的参数
*/
@WebMethod
public String getValue(String name){
String resultName = "返回的名称:"+name;
return resultName;
}
/**
*exclude=true 表示不发布此方法
* @param agrs
*/
@WebMethod(exclude=true)
public static void main(String agrs[]){
//127.0.0.1 发布的地址
//9090 发布的端口 但必须未占用
//Service 固定的写法
//webserviceHello 服务的名称
Endpoint.publish("http://127.0.0.1:9090/Service/webserviceHello", new WebserviceHello());
System.out.println("success ok");
//浏览器测试地址:http://127.0.0.1:9090/Service/webserviceHello?wsdl 返回xml表示成功
}
}
2.客户端代码。
package com.cn.client;
/**
* client测试WebService
* 客户端使用java jdk bin 目录下的wsimport生成代码
* @author LQT
*/
public class TestClient {
public static void main(String[] args) {
WebserviceHelloService service = new WebserviceHelloService();
WebserviceHello webserviceHello = service.getWebserviceHelloPort();
String resutString = webserviceHello.getValue("龙哥");
System.out.println(resutString);
}
//运行cmd
//在控制台中运行以下命令设置java环境变量即可解决:
//set java_home=D:\it\jdk7 安装JDK的根目录
//set classpath=%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
//set path=%JAVA_HOME%\bin;
//-s:生成客户端执行类的源文件的存放目录
//-p:定义生成类的包名
//生成客户端代码和包:wsimport -s D:\\it\\myeclipsework\\WebserviceProject\\src -p com.cn.client -keep http://127.0.0.1:9090/Service/webserviceHello?wsdl
//执行看见 code 表示成功
//生成后刷新工程
}
代码百度云盘:http://pan.baidu.com/s/1mirQS3Y