我正在使用WSDL中的以下內容:使用帶WSDL.exe的多維數組的WSDL失敗
<xsd:complexType name="SomeClassType">
<xsd:sequence>
<xsd:element type="xsd:string" name="errorMessage" minOccurs="1" nillable="true" maxOccurs="1"> </xsd:element>
<xsd:element type="tp:ArrayOfArrayOfString" name="values" minOccurs="1" nillable="true" maxOccurs="1"> </xsd:element>
<xsd:element type="xsd:boolean" name="isEmpty" minOccurs="1" maxOccurs="1"> </xsd:element>
</xsd:sequence>
</xsd:complexType>
其中
<xsd:complexType name="ArrayOfArrayOfString">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[,]"></xsd:attribute>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
然而,使用Wsdl.exe用從MS(運行版本:1.1.4322.573)生成
public class SomeClassType {
///
public string errorMessage;
///
public string[] values;
///
public bool isEmpty;
}
我預期string[,] values
不string[] values
是有一個修復o解決這個問題? (除了手動更改生成的代碼)
步驟一:也許你不應該使用.NET的過時版本來?第二步:也許你應該使用WCF呢?至少嘗試一下,看看svcutil.exe是否可以處理WSDL並生成合理的代碼。第三步:你是否至少運行了.NET 1.1的最新服務包?第四步:嘗試.NET 2.0,這在很大程度上是對.NET 1.1的修復。 – 2011-04-20 06:27:20
@約翰:不是我打電話來的。陷入過去。 .NET1.1或半身像。 – Asher 2011-04-20 06:33:39
@John:我已經用Visual Studio Express 2010(這是框架4的權利?)嘗試過,並且在那裏也失敗了。所以它看起來不是一個框架問題... – Asher 2011-04-20 06:43:07