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.

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));
l'execution de la ligne 4 provoque l'exception suivante:
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