WebServices et Array of Classe
Bonjour
j'ai récupéré la wsdl d'un serveur de webservices avec lequel je dois communiquer
pour faire simple je récupère ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| ArrayOfString = array of WideString;
ArrayOfClasse = array of MaClasse;
MaClasse= class(TRemotable)
private
Fchaine1: WideString;
Fchaine2: WideString;
published
property chaine1: WideString read Fchaine1 write Fchaine1;
property chaine2: WideString read Fchaine2 write Fchaine2;
end;
MaClasse1 = class(TRemotable)
private
FMonArrayOfString: ArrayOfString;
FMonArrayOfClasse: ArrayOfClasse;
public
destructor Destroy; override;
published
property MonArrayOfString: ArrayOfString read FMonArrayOfString write FMonArrayOfString;
property MonArrayOfClasse: ArrayOfClasse read FMonArrayOfClasse write FMonArrayOfClasse;
end;
function MaFonction(const MC: MaClasse1): Boolean; stdcall; |
en appelant MaFonction le seveur attend que je lui envoie le flux SOAP suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<MaFonction>
<MC>
<MonArrayOfString>
<string>string</string>
<string>string</string>
</MonArrayOfString>
<MonArrayOfClasse>
<MaClasse>
<chaine1>string</chaine1>
<chaine2>string</chaine2>
</MaClasse>
<MaClasse>
<chaine1>string</chaine1>
<chaine2>string</chaine2>
</MaClasse>
</MonArrayOfClasse>
</MC>
</MaFonction>
</soap:Body>
</soap:Envelope> |
or dès que je dois envoyer des "array of ..." le nom de la classe est remplacé par "item" ... je pense que cela doit pourvoir se corriger en jouant sur des options du Converter du composant THTTPRIO ou
RemClassRegistry.RegisterSerializeOptions(TypeInfo(ArrayOfString), [xoInlineArrays]) mais ça ne fonctionne pas ...
Est ce que quelqu'un a déjà été confronté à ce problème et sait comment le résoudre
Merci d'avance pour votre aide