|
| Webservice SOAP passage de paramètres avec un type array |
| Iniciado por thamis, 15,abr. 2020 11:22 - 1 respuesta |
| |
| | | |
|
| |
Miembro registrado 61 mensajes |
|
| Publicado el 15,abril 2020 - 11:22 |
Bonjour à tous,
Je bloque sur l'utilisation d'un webservice SOAP, plutot sur la syntaxe à utiliser pour passer des données dans un type array, je vais essayer d'être clair dans ma description. J'ai importer un webservice dans Windev dont une des méthodes est WriteData Desciprion de la méthode [ <return> est TResultResponseType = ] WriteData (<Address> est TAddress, <Command> est TDepartmentRecord) Où TAddress est défini comme suit :

Et TDepartmentRecord est définit comme suit :

Mon problème vient de Descriptions, c'est un tableau que je n'arrive pas à alimenter, il est défini ainsi dans le webservice
<xs:element name="Descriptions" type="ns1:TDescriptionWithTextKinds"/>
TDescriptionWithTextKinds lui est défini ainsi :

Dans l'exemple qui m'est fourni avec SoapUI, il est décrit :
<Descriptions xsi:type="urn1:TDescriptionWithTextKinds" soapenc:arrayType="urn1:TDescriptionWithTextKind[1]" xmlns:urn1="urn:intfBaseType"> <item> <Text>MonDepartment</Text> <TextKind>MonType</TextKind> <TextLanguage>MaLangue</TextLanguage> </item> </Descriptions> Maintenant la définition de TDescriptionWithTextKind :

Voici un bout de code C# qui fonctionne et que je n'arrive pas à retranscrire en Windev.
Department = item.Department_No, Descriptions = new List() { new DepartmentsService.TDescriptionWithTextKind() { Text = item.Name } }.ToArray()
J'ai essayer plein de chose mais je n'ai pas trouver la bonne méthode.
MonStore est un IDepartmentsservice.TAddress MonDept est une IDepartmentsservice.TDepartmentRecord MesDescrptionDept est IDepartmentsservice.TDescriptionWithTextKinds tabMesDescriptions est un tableau de IDepartmentsservice.TDescriptionWithTextKind MaDescription1 est IDepartmentsservice.TDescriptionWithTextKind MaDescription2 est IDepartmentsservice.TDescriptionWithTextKind MareponseDept est un TResultResponseType
MonStore.StoreID = nStore MonStore.RepositoryID = 0
MaDescription1.Text = sDescription MaDescription1.TextKind = sType MaDescription1.TextLanguage = sLang MaDescription2.Text = sDescription MaDescription2.TextKind = sType MaDescription2.TextLanguage = sLang Ajoute(tabMesDescription,MaDescription1) Ajoute(tabMesDescription,MaDescription2)
MonDept.Department = nDepartment
MonDept .Descriptions = MesDescrptionDept
MareponseDept = IDepartmentsservice.WriteData(MonStore,MonRayon)
Voilà j'espère avoir été suffisament clair dans ma description.
Merci pour votre aide.
-- Cordialement,
Fred |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 61 mensajes |
|
| Publicado el 15,abril 2020 - 12:22 |
Erreur il faut lire sur la dernière ligne
MareponseDept = IDepartmentsservice.WriteData(MonStore,MonDept )
-- Cordialement,
Fred |
| |
| |
| | | |
|
| | | | |
| | |
|