.Net整合其他平台的一些探讨
2009-05-12 22:40:11来源:未知 阅读 ()
整合分布式应用程序经常是一件非常困难并且错综复杂的任务,即使是最富有经验的开发者也可能会觉得头疼。当应用程序在不同的操作系统以及涉及不同的程序平台时,这个集成问题变得尤其复杂。虽然说,Web服务承诺可以减轻程序员完成集成任务的困难程度,但是也可能给程序员们带来一些意想不到的麻烦。在这里我们将把一个ASP.net应用程序和一个PHP Web服务连结起来,以学习一些整合分布式应用程序的方法,以及必要的应对措施,包括运行什么以及不用去做什么。
这个Web服务在一个Apache服务器上运行,并且使用PHP开发。它从各种微软新闻组检索新闻摘要以及它们的关联的文本。即使由这个服务提供的数据可以直接使用内部的。Net对象存取,但是这个服务还是将使用并提供一个连接到非。Net平台上的不错的演示。我们这里要讨论的实例基于。Net beta 2版。
创建一个Web服务代理
Visual Studio.NET提供了一个出色的机制用于自动地生成可用于存取远程Web服务的代理对像。因此,要首先尝试使用这些函数来导入由PHP服务提供的Web服务描述语言(Web Services Description Language,WSDL)文件。 还可以使用.Net SDK的WSDL.exe命令行公用程序。不幸的是,在使用VS.net向导导入WSDL之后,并不能成功地创建一个代理。所以我必须把导入原始的WSDL文件后由VS.Net生成的文件转换为WSDL:
◆把模式域名空间从http://www.w3.org/1999/XMLSchema改成http://www.w3.org/2001/XMLSchema 然后清除所有的当WSDL导入过程中由VS.Net添加的”q”域名空间。
◆删除 xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/和xmlns: mime="http://schemas.xmlsoap.org/wsdl/mime/" 名字空间,因为这个应用程序中不需要包含这些。
◆删除类型元素,因为原始的 WSDL文档 并没有包含Web服务的模式信息的指定的元素区段。
◆改变输入输出元素消息属性值为包含tns域名空间前缀的形式:
以下为引用的内容:
<portType name="nntpSoapPortType"> <input message="tns:getheaders" /> <output message="tns:getheadersresponse" /> </operation> <operation name="getarticle" parameterOrder="newsgroup article"> <input message="tns:getarticle" /> <output message="tns:getarticleresponse" /> </operation> </portType> |
在进行了下面的这些微小的改变,VS.Net向导能够读取WSDL并且自动地生成一个代理。在编译了这个代理之后,它被包含在一个ASP.NET页面中。然而,当这个ASP.Net页面被执行:“ message does not have a correct SOAP root XML tag.”,这个错误被当作一个SOAP错误从Web服务中返回。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- .Net项目中一些常用验证操作 2020-02-27
- 搭建Windows8云平台的开发环境教程 2019-09-17
- ASP.NET技术的学习顺序 2019-06-21
- 关于ASP.NET在IIS一些问题的经验总结 2019-06-21
- Asp.NET中常用的一些优化性能的方法 2019-06-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash