2016-11-21 1 views
0

Je suis en train d'envoyer ma demande à cette méthode de TestList définie dans le WSDL:service web Consommant Xml.Serialization.XmlArrayItemAttribute

<System.ServiceModel.MessageBodyMemberAttribute([Namespace]:="[service url here]", Order:=8), _ 
System.Xml.Serialization.XmlArrayItemAttribute("TestItem", IsNullable:=false)> 
Public TestList() As myref.TestItem_Type 

J'ai créé ma liste comme TestItem_Type, et j'ai toutes les données client dans cet objet:

Dim MyList As New myref.TestItem_Type 
MyList.sNumber = 1 
MyList.bdentifier = 21 

WSDLCall.SendList = MyList 

Il y a un problème avec MyList à ce stade.

« Valeur de type « myref.TestItem_Type » ne peut pas être converti en « tableau 1 dimensions de myref.TestItem_Type »

Dois-je serialise la liste étant donné que les grandes lignes de service Web utilise System.Xml.Serialization .XmlArrayItemAttribute? J'ai essayé de déclarer MyList comme un tableau, mais pas de chance.

Répondre

1

vous avez déclaré TestList comme un tableau

Public TestList() As myref.TestItem_Type 

vous appelez ensuite à l'aide d'un seul élément (même si vous qualifier erronément comme une liste)

Dim MyList As New myref.TestItem_Type 
MyList.sNumber = 1 
MyList.bdentifier = 21 
WSDLCall.SendList = MyList 

Alors Fournissez un tableau: (en supposant que votre version prend en charge cette syntaxe)

WSDLCall.SendList = {MyList} 
+0

Ce qu'il fixe: {} MyList - merci! – levis84