首页 > 代码库 > Web Service深度剖析
Web Service深度剖析
Web Service
1.定义:
Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
2.Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。
webservice 的调用有3种方式
1). httpget
2). httppost
3). httpsoap
soap 的优点是 可以传递结构化的 数据,而前两种不行。
方式一(直接在网页上调用):
www.webxml.com.cn
方式二(通过Myeclipse连接webserver):
方式三(,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用webService提供的方法):
可能出现错误:(包名和存在路径一致,我的已解决)
解决方法(截图,下面包名写错应是cn.com.webxml)
1.
2.
3.
4.
5.
6.
7.
测试:
package cn.test; import cn.com.webxml.MobileCodeWS; import cn.com.webxml.MobileCodeWSSoap; public class WebserviceTest { public static void main(String[] args) { MobileCodeWS ws=new MobileCodeWS(); MobileCodeWSSoap soap = ws.getMobileCodeWSSoap(); String info = soap.getMobileCodeInfo("1501074", "");//参数一:手机号 参数二:商业编号 没有可为空 System.out.println(info); } }
Web Service深度剖析