Первоначально я разместил вопрос о том, почему элементы моего веб-сервиса не хотят десериализоваться. Я обнаружил, что интерпретация 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] ) );
}
Если вы читаете не пересмотренную или оригинальную версию этого, мои извинения за долгую бессвязность Надеюсь, это ключевые слова, которые нужны людям, чтобы найти свои ошибки. Завтра я отмечу это как закрытое.