一,首先了解几个基本概念
1.什么是web service?
2.什么是 soap ?
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。
3.什么是 wsdl ?
Web Service描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。
4.什么是 sei : WebService EndPoint Interface(终端) ?
直译:web service的终端接口,就是WebService服务器端用来处理请求的接口
二,webservice的开发
1.基于jdk的开发
①开发服务端
- WebService编码:@WebService(接口和实现类) @WebMethod(方法,实现类的方法不用)
- 发布WebService:Endpoint(终端,发布webservice) Endpoint.publish(String address, Object implementor)
使用jdk自带的 wsimport 自动生成客户端代码,wsimport -keep + url?wsdl
-
监听请求:使用Eclipse的TCP/IP工具(端口转发)
-
-
将服务器端的WSDL文档保存到客户端本地
-
修改文档:将端口号从8989改为8080
-
根据本地的wsdl文档生成客户端代码,并编写客户端的调用代码
-
配置eclipse的TCP/IP,启动监听
-
执行客户端代码发送WebService请求
2.基于框架的开发(如:Axis2,xfire,cxf)