salut,
J'ai un problème concernant les noeuds vides lors d'une réponse par l'appel d'une fonction fourni par gsoap.
J'appel ma fonction
int valeurRetour =soap_call_ns1__F601_USCORERCPREST17_USCOREWS(soap,soap_endpoint,soap_action, id,&f17Response);
et je récupère le code de retour dans valeurRetour
Au niveau de la réponse soap j'ai ca:
1 2 3 4 5 6 7
| <P_TANNEE xsi:type="xsd:string">2000</P_TANNEE>
<P_TANNEE xsi:type="xsd:string">2001</P_TANNEE>
<P_TANNEE xsi:type="xsd:string">2002</P_TANNEE>
<P_TANNEE xsi:type="xsd:string">2003</P_TANNEE>
<P_TANNEE xsi:type="xsd:string"/>
<P_TANNEE xsi:type="xsd:string"/>
<P_TANNEE xsi:type="xsd:string"/> |
Ce qui est en rouge provoque une erreur, et du coup valeurRetour= 5 c'est à dire correspond à SOAP_SYNTAX_ERROR et plus précisement ( en trifouillant le fichier stdsoap2.c) ca correspond à End element tag name does not match
Une solution facile , au niveau du serveur, c'est en fait si il y a rien à mettre de rajouter un espace et du coup j'aurai :
<P_TANNEE xsi:type="xsd:string"> </P_TANNEE>
Cette solution est pas possible car je ne peux pas modifier le serveur
Donc ma question est ce qu'il y une option de configuration pour le client pour gérer ce problème ou la solution vient absolument d'une modification du serveur.
Sinon question toute bête peut-on avoir une reponse soap de ce type:
<P_TANNEE xsi:type="xsd:string"/>
Merci pour l'aide future
Partager