1

我正在使用 svcutil 工具生成代理。我的合约方法返回特定类型的对象。但是,生成的代理客户端接口具有对象类型的返回值。更重要的是,我收到消息异常:

System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail] : The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:name. The InnerException message was 'XML 'Element' 'http://tempuri.org/:name' does not contain expected attribute 'http://schemas.microsoft.com/2003/10/Serialization/:Type'. The deserializer has no knowledge of which type to deserialize. Check that the type being serialized has the same contract as the type being deserialized.'.  Please see InnerException for more details.

有什么想法吗?

4

2 回答 2

0

嗯,我是 WCF 和我正​​在探索的项目的新手......但是我刚刚注意到服务返回的数据类型没有用 DataContract 属性修饰。是这个问题吗?

于 2009-11-25T14:22:49.713 回答
0

听起来 svcutil 无法理解您的类型。如果您在其他程序集中定义了自定义类型,您可能需要使用该[KnownType]属性来告诉 svcutil 发生了什么。

请参阅此处的 MSDN 参考。

于 2009-11-25T12:33:51.747 回答