性对于应用程序来说是很重要的。那么SOAP的安全性如何呢?对于把HTTP作为传 输协议的SOAP来说是没有问题的,因为HTTP协议已经有很好的安全构架。那么用其他传输 协议会出现安全问题吗?这方面也已经有相关规范
()。
1.2.3 何为WSDL?
WSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDL(Interface Description Language,接口描述语言)是用于COM和CORBA的,WSDL是用于SOAP的。 WSDL是一种XML文档,所以可以阅读和编辑,但很多时候是用工具来创建、由程序阅读。
举个实例,当读者需要使用第三方的Web Service构建应用程序。你可以向接口提供商索 取使用WSDL
文档,在该
文档中详细的说明了各个方法的方法名、参数和参数类型等信息。在
Java等编程语言的IDE(例如My Eclipse)中,可以根据Web Servie生成对应的测试代码, 稍微修改一下即可。
1.2.4 何为UDDI?
UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service 信息。可以不把Web Service
注册到UDDI。但如果要让全球的人知道这个Web Service,最好 还是注册到UDDI。
UDDI目录说明文件也是一个XML文档,它包括三个部分。“白页(White Paper)”说明提 供Web Service的公司(人)信息,比如说名称、地址和联系方式等等。“黄页(Yellow Pape r)”说明UDDI目录的分类,比如说金融、服务和印刷等等。“绿页(green Paper)”说明接 口(Web Service 提供的)的详细信息。 UDDI提供多种查询方式,来帮助你找到需要的Web S ervice。如果你查询与财务有关的Web Service,那么UDDI会提供详细的信息。 1.2.5
何为XML?
XML(Extensible Markup Language)即可扩展标记语言,它与
HTML一样,都是SGML(Sta ndard Generalized Markup Language,标准通用标记语言)。在Web Service接口中,WSDL和U DDI目录文件都是一种XML文档,XML解决了数据表示的问题。
1.2.6 何为XSD?
XML解决了数据表示的
问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套 数据类型。例如,整型数到底代表什么?16位,32位,还是64位?
W3C制定的XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据 类型,并给出了一种语言来扩展这套数据类型。Web Service就是用XSD来作为其数据类型系统 的。
1.3 开发Web Service接口和调用测试
在Java IDE环境中开发Web Service接口,以及如何调用第三方的WSDL文档如何进行接 口测试的参考文章详见:
1)《使用XFire+Spring构建Web Service(一)——helloWorld篇》:
blogjava.net/amigoxie/archive/2007/09/26/148207.html
2. js接口
2.1 接口方式说明和优缺点
在开发的过程中,也遇到过需要调用第三方接口的情况,例如笔者在完成的一个股票查询 的小demo中,就需要调用新浪提供的股票查询的js接口。另外有一次,在系统中使用了第三方 的GIS系统,调用的也是js接口。因为调用js接口的门槛很低,所以有的接口供应商会提供多 种调用接口的方式,例如Web Servivce接口和js接口等。 对于浏览器来说, script标签的src属性所指向资源就跟img标签的src属性所指向的资源 一样,都是一个静态资源,浏览器会在适当的时候自动去加 载这些资源,而不会出现所谓的跨
域问题。这样我们就可以通过该属性将要访问的数据对象引用进当前页面而绕过
js跨域问题。 当然,前提是接口必须是返回一段js脚本,如一个json对象数组定义的脚本:
modlist = [ {"modname": "mod1", "usernum": 200, "url": "/widget/info/1"}, {"modname": "mod2", "usernum": 300, "url" : "/widget/info/2"}, ? ];
但script标签也有一定的局限性,并不能解决所有js跨域问题。script标签的src属性 值不能动态改变以满足在不同条件下获取不