前言:其实博主也是个菜鸟,只不过被逼要写一个程序调用某网站的机票服务,于是不得不学习调用Web Service。以下是博主从学习中总结出的基本方法,其中有些不完善,欢迎交流。
步骤:
1. 创建Web Service工程(直接调用提供的服务请略过)
1) 创建一个Web service工程(Project Name:Example),Framwork选择JAX-WS方式,其他随意(原因请搜索Web Service Framework工作方式);
2) 创建Service中的业务类;
Test.java
package scu.cs.cpu
public class Test{
public Test() {}
public void setMessage() {
System.out.println(“Thisis a demo !”);
}
}
-
3) 发布Web Service(在工具栏按钮“部署”的左起第二个),选择New Web Service,进入选项面板:
-
第一个页面,如果没有创建WSDL(如果你是第一次开发Web Service肯定没有创建的)请勾选“Create web service from java Class”,否则勾选另一个,其他随意;
第二个页面,勾选“Generate WSDL in project”,其他随意(请注意“Service Port”这个表单,里面有你要访问的端口,以后记得更改);
4) 添加库文件,选中工程“Example”,右击Properties->Java Build Path –> Libraries –>addLibrary ->MyEclipse Libraries ,勾选带有“JAX-WS”的选项(为什么呢,因为你刚才选的工作方式是JAX-WS,所以要把这些要用到的库文件添加进去);
5) 开启Tomcat 8服务器(或者其他服务器,博主没有测试过),将该工程“Example”部署到已打开的服务器Tomcat(请搜索“如何配置和部署Tomcat服务器”);
6) Web Service到此结束。
二、创建调用Web Service的客户端工程
1.创建一个Java Project(若有其他需求也可创建其他类型);
2.选中该工程,创建Web Service Client (在工具栏按钮“部署”的左起第二个),选择New Web Service Client,进入选项面板;
不要理第一个面板,下一步;
选择WSDL URL表单,填入服务地址,例如:http://webservice.36wu.com/weatherService.asmx?wsdl,这样在本地工程下就会自动生成服务接口类,调用服务就像调用本地方法一样easy;
3.创建一个执行类(就是带main方法的类),测试你的服务吧;
TestClient.java
import scu.cs.cpu.Test;
public class TestClient{
public static void main(String[] args) {
Testtest = new Test();
test.setMessage();
}
}
总结
其实这个web service调用还是比较简单的,但是博主学习的时候找了好多教程,出现了各种错误费了好久,所以如果碰到问题的小朋友请不要气馁,楼主比你苦~~~如果遇到问题,欢迎勾搭楼主啊!
附录
SOAP : SOAP是Web Service的标准通信协议,SOAP为simple object access protocoll的缩写,简单对象访问协议.是一种标准化的传输消息的XML消息格式。
WSDL : WSDL是一种基于XML格式的关于web服务的描述语言。web service的提供者将自己的web服务的所有相关内容,如所提供的服务的传输方式,服务方法接口,接口参数等,生成相应的完全文档,发布给使用者。使用者可以通过文档,创建相应的SOAP请求消息,通过HTTP传递给Web Service提供者;完成服务请求后,将SOAP返回消息传回请求者。