我有一个项目,它依赖于 Oracle 托管 Web 服务(不是 WCF)。我有一份服务的 WSDL 及其相关的 XSD。
为此生成代理和数据合同程序集的正确方法是什么?
我从
XSD.exe /c /language:CS user.xsd
对于我的每个 xsds。这会生成一堆具有共享类型冲突的类对象(所有类中的相同对象),因此我修剪了所有重复项,以便它们具有单个声明。
然后仅使用我的类文件“datacontracts.dll”构建该程序集
然后我生成了我的服务客户端
svcutil.exe user.wsdl /n*:SomeNameSpace /r:datacontracts.dll /noconfig
但这似乎并没有真正给出我想要的,因为它仍然导致服务客户端内的所有类的重复。
在从 XSD 生成的类中,我确实注意到每个类定义都有
[XmlType(Namespace = "urn:/crmondemand/xml/...")]
我是否需要将该属性以它在重复类中显示的方式放置一次,以便在我将其设为单数类的每个类中?这样我就有
[XmlType(Namespace = "urn:/crmondemand/xml/user")]
[XmlType(Namespace = "urn:/crmondemand/xml/campaign")]
[XmlType(Namespace = "urn:/crmondemand/xml/lead")]
public class SharedClass
还是我接近这个错误?