编程环境:
1、Eclipse mars.2
2、JDK 1.8
如果测试过程中,出现错误,可能是因为jdk版本过低,请升级jdk版本然后重新测试。
一、创建服务端:
1、新建java项目,命名为TheService;
2、在TestService下创建包,包名为com.xx.service,在该包下新建类,命名为ServiceHello。
package com.zl.service;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class ServiceHello {
public String getValue(String name){
return "hello:"+name;
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:9095/service/ServiceHello", new ServiceHello());
System.out.println("Publish Success!!! ");
}
}
其中,getValue(String name)是为服务端供客户端调用的方法,main方法第一句的作用是发布服务端,端口号任意,但必须未被调用。
此外,在类名上方打上@WebService
的注解。
3、运行main
方法,若打印出Publish Success!!!
,则说明服务端发布成功。
4、此时发布成功,我们来测试一下。
测试地址:
http://localhost:9095/service/ServiceHello?wsdl
(Service为固定的,ServiceHello为类名,?wsdl为固定的页面)
输入地址,看到xml内容,说明发布成功
二、创建客户端:
1、新建 Java Project,命名为TheClient。
2、在TestClient下创建包,包名为com.xx.client。
3、打开命令提示窗口输入以下命令生成客户端。
格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”
wsimport -s C:\Workspaces\JAVA\TheClient\src -p com.zl.client -keep http://localhost:9095/service/ServiceHello?wsdl
4、刷新TestClient,检查生成类。
三、测试:
在com.xx.client包下,新建类ServiceTest。
package com.zl.client;
public class ServiceTest {
public static void main(String[] args){
ServiceHello hello = new ServiceHelloService().getServiceHelloPort();
String name = hello.getValue("zl");
System.out.println(name);
}
}
编译测试方法,返回结果.
此时,简单的webservice实例完成。
网友评论