尽管如此,仍然需要在共同使用这些Web服务时的建议和策略。有些实践允许您确保以互操作的方式既使用又公开Web服务。基于已有的经验,我整理了关于Web服务互操作性的“十大”要点列表。有些要点基于在Microsoft上运行的测试结果的发现,另外一些是在开发项目时觉得有用。这里的提示可以应用于IBM、BEA及多个开放源码堆栈。我希望它们对您有用。下面从下往上依次介绍这些要点:
1.首先使用XSD
设计互操作性时,始终一开始先定义数据。决定要发送的数据后,首先在XSD中创建数据类型,然后使用工具从XSD文件生成类。依此顺序执行操作,有助于确保数据类型的在线互操作性。为此,需要熟悉XSD —— 了解如何在XSD中建模数据和可用于建模数据的工具。XSD文件可以在Visual Studio .NET中直接创建和编辑。有了XSD后,在每个平台上使用适当的工具生成数据类型。在.NET中,可以使用xsd.exe(框架的一部分)或XsdObjectGen(可从MSDN免费下载)。对于Java,这取决于您所使用的工具包。对于IBM,使用Java Bean for XML Schema Wizard;对于BEA,将XSD文件拖到WebLogic Workshop中的Schemas文件夹中。如果是其他工具包,则搜索Schema2Java工具。完成后,在Web服务中公开生成的数据类型 ——此步骤的前提是,您需要确保这些类型能够被正确地序列化到XSD和XML中。到您可以保证数据的在线显示方式时,互操作性对您来说就已经近在咫尺了!
2. 使用单元测试来测试互操作性
单元测试(使用.NET的NUnit或Java的JUnit)是通过Web服务检查多种数据类型的互操作性的最好方式。
如果数据类型变更(或如果更改Web服务工具包的版本!),则需要再次运行测试。这可以让您确信您设计的Web服务具有完整的互操作性。
3. 生成Web服务时确保使用Document/Literal
有些工具包提供一个选项,让您从以下内容中为Web服务做出选择:
• RPC/Encoding
• RPC/Literal
• Document/Literal
这些选项为Web服务契约控制样式和编码机制。要帮助确保与WS-I Basic Profile一致,始终确保将Document/Literal作为您所有Web服务的默认编码机制。RPC/Literal仅在特殊情况下使用。永远不要使用RPC/Encoding。
4. 为“更改主机和端口”添加选项
设计Web服务客户端时,考虑添加一个帮助器方法用于更改Web服务位置的主机和端口值。这会为将来Web服务的位置变更或者把输出重定向到跟踪工具带来方便。我发现这在Web服务间进行故障切换时特别有用。
5. 使用“跟踪工具”进行研究
“跟踪工具”是研究SOAP请求和Web服务间响应的理想选择。它可以帮助验证数据类型和消息构造,还会报告您在浏览器中可能错过的SOAP错误。
可用的跟踪工具有很多类型 —— 有些在客户端上运行,有些在服务器上运行,有些甚至运行于客户端和服务器之间(如代理)。这些类型的跟踪工具设置起来比较困难,但是总的来说还是很有用的,因为您可以看到在系统之间传递的消息。有些代理跟踪工具甚至还可以让您编辑和回复消息——这一点对于调试非常有用。
相关视频
相关阅读 WebVR是什么 WebVR有什么功能火狐VR组长跳槽 担任谷歌WebVR产品设计师假如绕道版权 用泰捷WEBOX可以看直播和所有内容Web前端应用十种常用技术WebLoad与哲想软件携手共进webfreer去广告方法 webfreer浏览器去广告教程expression web 4文档乱码解决方法IIS6安装时提示“将加密数据写入Web服务器配置数据库时出错”解决
热门文章 滴滴和优步合并了吗 优思源黑体:改变锤子手机发布会看点预TK域名免费注册及解析
最新文章
鸿蒙3.0新功能特性介绍微信PC端内测版3.7.0发
win11更新失败怎么办 windows更新win11失败win11怎么退回win10系统 win11退回win10系统win11系统配置要求 win11系统安装配置详解Window 11系统有哪些变化 Window 11系统七大
人气排行 2020年放假安排时间表全年图 2020年法定节假2021年放假安排时间表全年图 2021年法定节假微信公众号怎么申请 微信公众号申请要钱吗zune怎么用?zune使用攻略!2014台式机装机配置推荐snmp协议在windows下的安装与配置2016猴年邮票多少钱一套 2016猴年邮票价格表微信朋友圈三天可见怎么破解 朋友圈仅展示三
查看所有0条评论>>