Silverlight:动态发现和调用Web服务

时间:2010-11-09 14:19:30

标签: silverlight web-services call dynamic

我有一个Silverlight应用程序,我需要能够从几乎任何Web服务获取数据。我想为用户提供在运行时指定Web服务的URL的功能,然后我的应用程序将发现该服务并提供一些UI来选择web方法并填充必要的参数。然后用户可以调用web服务,应用程序将在UI上显示数据。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为你的意思是一个SOAP Web服务? .NET中有许多组件通常用于此目的(例如,基于CodeDOM的WCF元数据下载和客户端代理生成功能,以及用于处理WSDL和XSD架构的各种类)。不幸的是,这些在Silverlight中不存在。所以,我可以想到两种方法:

1)在Silverlight中手动实现通用SOAP客户端(即手动实现元数据下载,WSDL解析,XSD解析等) - 除非你能找到一些你可以适应的现有代码,否则这将非常困难Silverlight(即便如此,它可能仍然非常困难)

2)通过服务器完成。服务器将执行所有困难的部分,Silverlight将只显示UI。仍然不是一件容易的事,但可能;您可以从使用Reflector逆向工程WCF测试客户端应用程序的工作方式开始,然后从那里开始。