我有一個服務契約,它定義了一個類型爲System.Object(xs:anyType in the WSDL)的參數的方法。我希望能夠在此參數中傳遞簡單類型以及複雜類型。簡單類型工作正常,但是當我嘗試傳遞在我的WSDL中定義的複雜類型時,出現此錯誤:傳遞複雜類型的WCF問題
元素'http://tempuri.org/:value'包含'http://schemas.datacontract.org/2004/07/MyNamespace:MyClass'數據契約的數據。反序列化器不知道映射到此合約的任何類型。將與'MyClass'相對應的類型添加到已知類型列表中 - 例如,使用KnownTypeAttribute屬性或將其添加到傳遞給DataContractSerializer的已知類型列表中。
將它作爲已知類型添加並不會有幫助,因爲它已經在我的WSDL中。我如何通過「xs:anyType」參數傳遞一個複雜類型的對象?
更多信息:
我相信這一點使用NetDataContract時的作品,但因爲我的客戶是Silverlight的,我不能使用。
我已經看到了引用顯式擴展xs:anyType的複雜類型,但我不知道如何讓WCF生成這樣做的WSDL,我不知道它是否會幫助。
感謝
感謝您的回覆。然而,這個實現仍然需要在服務合同中指定類型(或者我錯過了什麼?)。我希望能夠通過使用相同服務操作的非特定類型(可以是簡單類型或我的數據協定類型之一)。 – dcstraw 2008-09-17 17:07:08