我的朋友在ruby(http://195.117.148.68:3000/api/wsdl)中创建了一个Web服务。我的工作是在Silverlight中使用此服务。
我正在创建新的Silverlight项目,然后右键单击“添加服务引用...”。然后我给地址 - >去,一切都很好。但是,生成的客户端不包含Web服务的方法。问题是为什么?
我刚开始使用这些网络服务。我已经成功地使用跨域WCF服务应用程序的一个工作示例,但与其他人不生成方法。
如果有人能帮助我,我将非常感激。我花了一天时间找不到任何解决办法。
答案 0 :(得分:0)
问题来自代理类的生成。如果这是您知道创建代理的唯一方法,那么请检查WSDL并查看混合中是否缺少某些内容。如果所有方法都设置正确,您将不得不深入挖掘。
您还可以在命令行上尝试WSDL.exe实用程序,看看是否收到任何警告或错误。这可以帮助您了解它失败的原因。
作为一种解决方法,您可以创建一个遵循Ruby服务中的接口(相同的方法,对象等)的空服务,并创建该服务的代理。然后,您指向Ruby地址并处理任何异常。这有点欺骗,以避免创建自己的自定义代理对象。
最后一种方法是创建自己的代理对象。好处是你可能会创建一个更“高效”的代理。缺点是自己编写“管道”代码,这可能会耗费更多时间。