【发布时间】:2010-12-02 01:14:39
【问题描述】:
我有一个项目,它依赖于 Oracle 托管 Web 服务(不是 WCF)。我有一份服务的 WSDL 副本及其相关的 XSD。
为此生成代理和数据合同程序集的正确方法是什么?
我开始了
XSD.exe /c /language:CS user.xsd
对于我的每个 xsd。这会生成一堆具有共享类型违规的类对象(所有类中的相同对象),因此我修剪了所有重复项,以便它们具有单一声明。
然后仅使用我的类文件“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
或者我是不是搞错了?
【问题讨论】:
标签: c# xml web-services wsdl svcutil.exe