Bonjour,
Mon but est de consommer un WebService SAP dans une application C++.
Ce WS renvoie simplement un String pour un param�tre donn�.
Ci-dessous, l'interface g�n�r�e par le WSDL importer.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 __interface INTERFACE_UUID("{84315FF7-92AE-A15F-5A89-3820B28AEAB2}") ZQM_WEB_READMEASURE : public IInvokable { public: virtual char64 ZqmFmMeasuresRead(const int PMeaId) = 0; };
Et ci-apr�s, l'utilisation du WS.
l'execution de la ligne 4 provoque l'exception suivante:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 /*1*/_di_ZQM_WEB_READMEASURE SAP_WS_ReadMeasure; /*2*/SAP_WS_ReadMeasure = GetZQM_WEB_READMEASURE(true, "" , HTTPRIO1); /*3*/ /*4*/lbledt_response->Text = SAP_WS_ReadMeasure->ZqmFmMeasuresRead(StrToInt(lbledt_meaID->Text));
CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'PMeaId'
Un test de ce WS avec SoapUI est concluant, mais l'erreur est reproduisible par la mise en commentaire ci-dessous:
<urn:ZqmFmMeasuresRead>
<!--PMeaId>1</PMeaId-->
</urn:ZqmFmMeasuresRead>
J'ai execut� le m�me code avec C++ 2006, 2009 et 2010, avec le m�me r�sultat.
J'ai �galement essay� plusieurs options d'import de l'outil WSDL importer, y compris le Unwind Literal Params.
Tout conseil bienvenu!
DBI
Partager