使用Web服务进行Perl/.NET互操作

Web服务一直宣称的就是可以在无视底层平台差异或是语言差异的情况下,进行跨应用的集成。N久的岁月过去了,它的承诺一直摆在人们的面前,但我们却仍然需要做些手脚才能让它履行自己的诺言。

Windows Communication Foundation,或称作WCF,其意图是把.NET运行时所使用的不同的通讯技术(包括消息队列,远程方法调用和Web服务)统一为一体。

Perl可以通过SOAP::Lite来使用基于SOAP协议的Web服务。但不幸的是,这个库一直没有能够跟得上WS规范的变化。Soaplite的领导者Byrne Reese在今年1月份的“State Of the SOAP(SOAP之现状)”(http://www.soaplite.com/2007/01/state_of_the_so.html)的文章中大致提到过这一点。

大多数SOAP工具箱都能和 SOAP协议保持稳定。和它们相比,这个SOAP工具箱的状态还算过得去。它与其他工具箱的区别就是,在大多数情况下,它一直都是很容易使用的。但随着越来越多的人采用了文档字面量(document-literal)作为他们的首选编码方法,SOAP::Lite面向XML::RPC的本质和对 XML::RPC方式的偏好,已经开始捉襟见肘了,而这个工具箱本身也没有太大的灵活性。

其结果就是,在比较新的一些SOAP服务器和客户端的实现中,SOAP::Lite就会有为数不少的一些已知的互操作问题。

上个月Jeff Powers列出了在Perl中使用SOAP::Lite来访问.NET WCF服务所需要的事项。具体信息可以参见他的文章:How to consume a WCF service from Perl with SOAP::Lite。由于文章中提到的步骤要求在.NET端修改WCF端点,所以它可能会给现有的客户端带来兼容性的问题。

查看英文原文:Perl/.NET Interoperability Using Web Services

你可能感兴趣的:(使用Web服务进行Perl/.NET互操作)