我最初提出了一个问题,为什么我的WebService的元素返回时不希望反序列化。我发现我的消息的wsdl.exe解释工作不正常。以下是我所改变的:
[return: XmlElement( "RequestResult" )]
public errorObject[] InitiateRequest(string[] params, string responseURL, string transactionID) {
object[] results = Invoke( "InitiateRequest", new object[] {
params,
responseURL,
transactionID} );
return ( (errorObject[])( results[0] ) );
}
到
[return: XmlArray( "RequestResult" ), XmlArrayItem( "errorObject", Namespace = "http://namespace/version", IsNullable = true )]
public errorObject[] InitiateRequest([XmlArray( "Params" ), XmlArrayItem("Param")] string[] params, string responseURL, string transactionID) {
object[] results = Invoke( "InitiateRequest", new object[] {
params,
responseURL,
transactionID} );
return ( (errorObject[])( results[0] ) );
}
如果你读到这本书的原版或原版,我为漫无边际的长篇道歉。希望这包含了人们发现错误所需的关键词。我明天就把它关了。