从非Windows下的客户程序调用.NET的Web服务

日期: 2008-04-24 作者:Michèle Leroux Bustamante 来源:TechTarget中国 英文

问:我应该怎样在一个非Windows下的客户程序中调用一个.NET下的Web服务?   答:Web服务根本的目标是在不同的编程平台和操作系统平台上的协作。大部分编程平台提供了包括服务端(服务的实现)和客户端(服务的调用)的对Web服务的支持。为了使用一个Web服务,你需要该服务的WSDL描述。而当你有了这个定义了Web服务的XML消息需求的描述文件,你就可以用它来产生一个代理,不管你用的是什么平台。

例如,如果你用的是开源的Java,你可能用Apache Axis代理生成器。而BEA的WebLogic/Workshop和IBM Websphere/Studio都有他们自己的使用Web服务的代理生……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

问:我应该怎样在一个非Windows下的客户程序中调用一个.NET下的Web服务?

  答:Web服务根本的目标是在不同的编程平台和操作系统平台上的协作。大部分编程平台提供了包括服务端(服务的实现)和客户端(服务的调用)的对Web服务的支持。为了使用一个Web服务,你需要该服务的WSDL描述。而当你有了这个定义了Web服务的XML消息需求的描述文件,你就可以用它来产生一个代理,不管你用的是什么平台。例如,如果你用的是开源的Java,你可能用Apache Axis代理生成器。而BEA的WebLogic/Workshop和IBM Websphere/Studio都有他们自己的使用Web服务的代理生成器。

  一旦你有了这个代理,你就可以调用服务,就好像你是在建立一个类的一个实例,然后调用它的一个方法一样。代理的内部处理了序列化,以及通过在端口80上使用HTTP协议(或者代理支持的其他任何协议)来进行服务的调用。

  以下是你调用Web服务(当然包括.NET下的Web服务)的步骤:

  1、找到WSDL描述文件。你可以从服务提供者那里得到这个WSDL,或者在浏览器里面输入服务的URL,它会返回一个WSDL或者一个到WSDL文件的链接。

  2、选择你的Web服务API(例如Apache Axis),然后用WSDL文件建立一个客户端的代理。

  3、在你的客户程序代码中调用该代理。这意味着你可能选择一个你的编程平台所支持的Web服务API。如果这个平台是跟WS-I(www.ws-i.org)兼容的,那它们往往是能够协作的。如果你遇到了序列化之类的问题,也往往有一些解决方法,但是要费一点心思。

相关推荐