【发布时间】:2015-04-28 15:02:01
【问题描述】:
我正在使用第三方服务,其 WSDL 定义了一个名为 System 的类。使用添加服务引用,Visual Studio 会生成一个代理,该代理有一个名为 System 的类,这会导致各种编译问题。
我正在寻找在不违反合同的情况下避免此问题的最佳方法。
我尝试修改 Reference.cs,但我所做的事情搞砸了序列化。此外,由于每次有人更新服务引用时此文件都会更改,因此这不是一个好的长期解决方案。
我很好奇以前是否有人遇到过这样的问题,以及如何最好地解决它。
complexType如下:
<xsd:complexType name="System">
<xsd:all>
<xsd:element name="timer_frequency" type="xsd:string"/>
<xsd:element name="acceptable_timer" type="xsd:string"/>
<xsd:element name="fail_instructions" type="xsd:string"/>
<xsd:element name="dispatch_instructions" type="xsd:string"/>
<xsd:element name="system_descr" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
【问题讨论】:
-
您是否尝试过在不同的命名空间中生成类型?请参阅msdn.microsoft.com/en-us/library/7h3ystb6%28VS.80%29.aspx中的 /namespace 选项
-
@EugeneOsovetsky:您是否意识到您指向 WSDL.EXE 的 .NET 2.0 页面,我们甚至不知道他是否使用了那个过时的工具?
-
您使用的是哪个“导入工具”?您应该首先尝试使用“添加服务参考”。如果这不起作用,请尝试“svcutil.exe”。
-
使用添加服务参考。我也在设置一个有意义的命名空间。
标签: c# .net soap visual-studio-2013 wsdl