我在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)
有人知道发生了什么事吗?
答案 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