问:我应该怎样在一个非Windows下的客户程序中调用一个.NET下的Web服务? 答:Web服务根本的目标是在不同的编程平台和操作系统平台上的协作。大部分编程平台提供了包括服务端(服务的实现)和客户端(服务的调用)的对Web服务的支持。为了使用一个Web服务,你需要该服务的WSDL描述。而当你有了这个定义了Web服务的XML消息需求的描述文件,你就可以用它来产生一个代理,不管你用的是什么平台。
例如,如果你用的是开源的Java,你可能用Apache Axis代理生成器。而BEA的WebLogic/Workshop和IBM Websphere/Studio都有他们自己的使用Web服务的代理生……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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)兼容的,那它们往往是能够协作的。如果你遇到了序列化之类的问题,也往往有一些解决方法,但是要费一点心思。
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
什么是操作系统虚拟化?
什么是操作系统虚拟化?
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
.NET架构师:函数式语言做领域驱动设计
Scott一位.NET架构师,同时也是掌握函数式编程的作者,他很欣赏函数式编程,对于Scott来说,面向对象编程的那些概念也很恐怖,比如多态、泛型、继承、协变等。