使用Xamarin.Forms消费soap Web服务

时间:2015-02-05 21:02:45

标签: c# xamarin xamarin.forms xamarin-studio

我在Windows上使用Xamarin Studio制作Android应用程序(Portable Xamarin.Forms项目)。我正在尝试使用此页面上的指南来使用Web服务:http://developer.xamarin.com/guides/cross-platform/application_fundamentals/web_services/在“使用SOAP服务”一节中。

然而,我似乎无法让它发挥作用。我可以成功生成代理(使用此公共URL:http://wsf.cdyne.com/WeatherWS/Weather.asmx进行测试)。生成一个名为“Reference.cs”的新文件。

但是Reference.cs文件会生成几个编译错误:

错误CS0234:名称空间'System.Runtime.Serialization'中不存在类型或命名空间名称'IExtensibleDataObject'(您是否缺少程序集引用?)(CS0234)(XamarinFormsTutorial)

..和另外41人(所有CS0234)

有人知道发生了什么事吗?

3 个答案:

答案 0 :(得分:1)

我最近不得不实现一个使用web服务asmx的跨平台应用程序。

我的解决方案是在两个项目(Android和IOS)中使用Web服务。 在我使用的共享项目中:

#if __ANDROID__
using "namespace droid webservice";
#endif

#if __IOS__
using "namespace ios webservice";
#endif

在代码中,创建Web服务的新实例就足够了。

答案 1 :(得分:0)

您能否使用该服务? 使用HttpClient并发布包含SoapAction的stringcontent并请求asmx和解析响应。尝试创建一个c#控制台应用程序并添加此服务作为参考,然后使用fiddler检查请求和响应。并在您的Xamarin应用程序中使用相同的请求

答案 2 :(得分:0)

我建议通过使用slsvc工具生成代理,然后尝试在您的应用程序中使用SOAP服务。这在我的案例中工作能够删除所有t