在此之前,还是有必要了解下webSerbice的为何值得学习?究竟有哪些优点及所承担的作用?
1、webService可跨平台调用(不局限与操作系统,可在任意不同的系统之间调用服务)。
2、webService可跨语言调用(不局限于编程语言,可在任意编程语言之间调用服务),如可以在Java语言中调用C#语言提供的服务,反之亦然。
3、webService可远程调用(通过使用webService,您的应用程序可向全世界发布信息,或者提供某项功能,只需Internet即可)。
运行环境
1、JDK 1.8.0_101
2、tomcat-7.0.65
创建服务端
1、创建【Dynamic web project】,并命名为"TheWebService"。
2、在【com.cn.test】包下创建“ServiceHello”类。
3、类ServiceHello代码如下:
package com.cn.test;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class ServiceHello {
public String getValue(String name) {
return "my name is " + name;
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:9001/Service/TheWebService", new ServiceHello());
System.out.println("service sucess.......");
}
}
4、启动main方法运行这个类,若在控制台上打印出“service sucess.......”,则说明服务启动成功。
5、在浏览器上打开链接“http://localhost:9001/Service/TheWebService?wsdl”,可看到这样的效果:
创建客户端
1、创建【Dynamic web project】项目,并命名为“TheWebServiceClient”。
2、命令窗口中执行命令。
格式:wsimport -s "src目录" -p "生成类所在的包名" -keep "wsdl发布地址"
如:wsimport -s E:\\Java\\workspace\\TheWebServiceClient\\src -p com.cn.test -keep http://localhost:9001/Service/TheWebService?wsdl
3、刷新项目,即可看到新生成的类。
4、创建类“TestService”,编写测试,调用服务端代码。
package com.cn.test;
public class TestService {
public static void main(String[] args) {
ServiceHello s = new ServiceHelloService().getServiceHelloPort();
String result = s.getValue("Tom");
System.out.println(result);
}
}
5、运行测试类,若打印返回结果,则说明调用服务端成功。