使用ObservableCollection类型向WCF服务添加服务引用时出错

时间:2012-05-28 20:46:18

标签: wcf xamarin.ios

尝试向现有WCF服务(提供类型ObservableCollection的集合)添加服务引用时,出现以下错误消息:

  

架构类型'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfString'尚未导入。先导入它。

我尝试将Framework(在“添加Web引用”屏幕中)更改为“.NET 2.0 Web服务”。在这种情况下,我没有得到上面提到的错误消息,但是,我无法调用WCF服务提供的几个函数(它们根本就没有生成)。

有人能帮助我吗?

提前致谢。

Ernstjan

2 个答案:

答案 0 :(得分:0)

Microsoft在“http://schemas.microsoft.com/2003/10/Serialization/Arrays”名称空间中定义了数组,非MS将在查找时遇到问题,因此请定义“ArrayOfString”并将其序列化:

[CollectionDataContract(ItemName = "string", Namespace = "SAME NAMESPACE AS YOUR PROJECT!!!")]

public class ArrayOfString : List<string>

{

}

那你应该没事。

答案 1 :(得分:0)

这是Mono的WSDL Importer中的一个错误,它不完全支持集合类型。

我刚刚实现了这个,所以你很快就会在Monotouch中看到这个。作为临时解决方法,您需要使用Visual Studio或Svcutil.exe在Windows上创建客户端代理。