Bonjour,

J'ai développé un Web Service en PHP qui est consommé sans problème par un client SOAP PHP.

Par contre je rencontre des problèmes lors de l'écriture d'un client VB.Net pour ce même web service.

Voici le problème : parmi les paramètres d'entrée de ma fonction de mon Web Service, un attend un tableau d'objets. Voici la définition du type de mon objet suivi de celle du tableau de ce même objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
</xsd:complexType>
		<xsd:complexType name='MergeField'>
		<xsd:all>
			<xsd:element name='name' minOccurs='1' type='xsd:string' /> 
			<xsd:element name='value' minOccurs='1' type='xsd:string' />
		</xsd:all>
	</xsd:complexType>
	<xsd:complexType name='ArrayOfMergeFields'>
		<xsd:complexContent>
			<xsd:restriction base='soapenc:Array'>
			<xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='typens:MergeField[]' /> 
			</xsd:restriction>
		</xsd:complexContent>
	</xsd:complexType>
La signature simplifiée de ma fonction est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<wsdl:message name='sendMergeFieldsRequest'>
    <wsdl:part name='login' type='xsd:string'/>
    <wsdl:part name='password' type='xsd:string'/>
<wsdl:part name='commonMergeFields' type='typens:ArrayOfMergeFields'/>
</wsdl:message>
 
<wsdl:message name='sendMergeFieldsResponse'>
    <wsdl:part name='returnCode' type='xsd:integer'/>
    <wsdl:part name='errorLabel' type='xsd:string'/>
</wsdl:message>
Le problème est que sous Visual Studio, après avoir ajouté la référence web dans mon projet, Visual studio ne me génère pas la classe MergeField.
Par contre il me propose bien le type ArrayOfMergeFields mais l'objet que j'instancie à partir de cette classe n'est pas un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Dim tabMergeFields As New myWebservice.ArrayOfTemplate
Ainsi, je ne vois pas comment ajouter des objets à ce tableau tabMergeFields .


La question que je me pose est :
"est-ce que le problème vient du fait qu'il manque des infos dans mon WSDL afin que Visual Studio.net me génère coreectement les classe MergeField et ArrayOfMergeField
OU
Est-ce que dans mon code VB.Net je dois modifier mon code pour que ma variable tabMergeFields soit considérée comme un tableau dans lequel je pourrais insérer des objets MergeField ?

Merci de votre aide...