2012-05-28 3 views
4

기존의 WCF 서비스에 대한 서비스 참조를 (유형 ObservableCollection의 컬렉션을 제공하는)를 추가하려고 할 때 나는 다음과 같은 오류 메시지가 얻을 :오류 때 형 ObservableCollection에와 WCF 서비스에 서비스 참조를 추가

스키마 유형을 'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfString'을 (를) 아직 가져 오지 않았습니다. 먼저 가져 오기.

(웹 참조 추가 화면의) 프레임 워크를 '.NET 2.0 Web Services'로 변경하려고했습니다. 이 경우 위의 오류 메시지가 나타나지 않지만 WCF 서비스에서 제공하는 여러 함수를 호출 할 수 없습니다 (단순히 생성되지 않음).

아무도 도와 줄 수 있습니까? 사전에

감사합니다.

Ernstjan

+0

서비스 방법에서 ObservableCollection 을 직접 반품하고 있습니까? – Yeonho

답변

0

마이크로 소프트가 아닌 MS는 그래서 당신의 "ArrayOfString"를 정의하고 직렬화 찾는 데 문제가있는 것이다 'http://schemas.microsoft.com/2003/10/Serialization/Arrays'이름 공간에 배열을 정의 그것 :

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

public class ArrayOfString : List<string> 

{ 

} 

그럼 괜찮을거야.

+0

단순한 유형의 배열에만 해당 네임 스페이스를 사용합니다. 사용자 정의 형식의 배열은 해당 형식의 네임 스페이스를 사용합니다. [my test] (https://github.com/mono/mono/blob/ea570f3a7676871dd565a706e28f99089e660dbc/mcs/class/System.Runtime.Serialization/Test/Resources/WSDL/collections.wsdl)의'GetListOfFoo()'를 참조하십시오. –

0

Mono의 WSDL 가져 오기 프로그램의 버그입니다. 컬렉션 유형을 완전히 지원하지 않았습니다.

방금 ​​구현 했으므로 곧 Monotouch에 표시됩니다. 임시 해결 방법으로 Visual Studio 또는 Svcutil.exe을 사용하여 Windows에서 클라이언트 프록시를 만들어야합니다.

관련 문제