gsoap2 utilisable avec un simple fichier XML - XML/XSL - Programmation
MarshPosté le 13-10-2008 à 18:40:58
Salut,
Nous avons sur une application en C++ besoin d'accéder à un Web Service. Nous avons donc pensé utiliser gsoap2 pour la génération du code C++ plutôt que de l'écrire (normal je pense).
Par ailleurs, nous avons également un fichier XML en local dans l'application (rien à voir avec le Web Service) pour stocker des paramètres. Je me suis donc dit : tiens, si on utilisait gsoap2 pour générer également un parser pour lire et récupérer les paramètres du fichier XML en local. Je commence et défini (avec XMLPad) le fichier XSD associé au fichier XML local. Ensuite, j'utilise les deux programmes en ligne de commande de gsoap2 pour générer le code ... tout se passe sans problème ... le code généré est intégré dans mon projet et ça compile nickel ...
Gros hic : je ne vois pas le point d'entrée, dans le code C++ généré, pour parser mon fichier XML.
* gsoap2 ne serait adapté qu'aux web services ? * pour autant que je sache un fichier XML en local ne constitue qu'un sous cas simple. Pourquoi ne saurait-il pas le faire ? * Y a-t-il un outil plus adapaté pour générer le code source du parsing ?
Ci-dessous le source du fichier XSD utilisé pour la génération du code C++ avec gsoap2 :
Marsh Posté le 13-10-2008 à 18:40:58
Salut,
Nous avons sur une application en C++ besoin d'accéder à un Web Service. Nous avons donc pensé utiliser gsoap2 pour la génération du code C++ plutôt que de l'écrire (normal je pense).
Par ailleurs, nous avons également un fichier XML en local dans l'application (rien à voir avec le Web Service) pour stocker des paramètres. Je me suis donc dit : tiens, si on utilisait gsoap2 pour générer également un parser pour lire et récupérer les paramètres du fichier XML en local. Je commence et défini (avec XMLPad) le fichier XSD associé au fichier XML local. Ensuite, j'utilise les deux programmes en ligne de commande de gsoap2 pour générer le code ... tout se passe sans problème ... le code généré est intégré dans mon projet et ça compile nickel ...
Gros hic : je ne vois pas le point d'entrée, dans le code C++ généré, pour parser mon fichier XML.
* gsoap2 ne serait adapté qu'aux web services ?
* pour autant que je sache un fichier XML en local ne constitue qu'un sous cas simple. Pourquoi ne saurait-il pas le faire ?
* Y a-t-il un outil plus adapaté pour générer le code source du parsing ?
Ci-dessous le source du fichier XSD utilisé pour la génération du code C++ avec gsoap2 :
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wmh="http://www.wmhelp.com/2003/eGenerator" elementFormDefault="qualified">
<xs:element name="config">
<xs:complexType>
<xs:sequence>
<xs:element ref="fichier"/>
<xs:element ref="centre" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="fichier">
<xs:complexType>
<xs:sequence>
<xs:element ref="SE"/>
<xs:element ref="path"/>
<xs:element ref="exe"/>
<xs:element ref="message"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="SE" type="xs:string"/>
<xs:element name="path" type="xs:string"/>
<xs:element name="exe" type="xs:string"/>
<xs:element name="message" type="xs:string"/>
</xs:schema>
---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)