1. Téléchargez gsoap
Adresse de téléchargement du site officiel: https://sourceforge.net/projects/gsoap2
2. Téléchargez le fichier wsdl
Site Web: https://www.onvif.org/profiles/specifications/
Cliquez avec le bouton droit sur les fichiers suivants à télécharger:
Placez le fichier de boîte rouge dans un dossier appelé wsdl. Enregistrez le bouton droit de la souris sous.
Accédez au dossier extrait par gsoap, recherchez ces deux fichiers et placez-les dans le même répertoire que wsdl
Ce fichier est également placé dans le même répertoire de niveau de wsdl.
Utilisez notepad ++ pour ouvrir tous les fichiers wsdl, recherchez schemaLocation et reconfigurez le chemin d'accès du fichier .xsd, car nous sommes maintenant au même niveau, directement dans le même répertoire de niveau, cela devra modifier tous les fichiers, comme indiqué ci-dessous:
La cmd entre dans le niveau supérieur du dossier wsdl et exécute:
wsdl2h -t typemap.dat -o onvif.h ./wsdl/accesscontrol.wsdl ./wsdl/accessrules.wsdl ./wsdl/actionengine.wsdl ./wsdl/advancedsecurity.wsdl ./wsdl/lalytics.wsd appmgmt.wsdl ./wsdl/authenticationbehavior.wsdl ./wsdl/credential.wsdl ./wsdl/deviceio.wsdl ./wsdl/devicemgmt.wsdl ./wsdl/display.wsdl ./wsdl/display.wsdl ./wsdl .wsdl ./wsdl/imaging.wsdl ./wsdl/media.wsdl ./wsdl/media2.wsdl ./wsdl/provisioning.wsdl ./wsdl/ptz.wsdl ./wsdl/receiver.wsdl ./wsdl/receiver.wsdl ./wsdl/receiver. wsdl ./wsdl/replay.wsdl ./wsdl/schedule.wsdl ./wsdl/search.wsdl ./wsdl/thermal.wsdl ./wsdl/uplink.wsdl.
Après l'exécution, vous pouvez obtenir une erreur, vous ne pouvez pas trouver le dossier ou quelque chose, voir quel fichier est exécuté en dernier, ouvrez ce fichier, recherchez le nom du fichier introuvable et accédez au site Web correspondant pour le télécharger. (J'ai accidentellement fermé la fenêtre cmd, pas de capture d'écran) Je dois apprendre à lire le message d'erreur, puis configurer le fichier xsd comme ci-dessus.
Un point supplémentaire: ws-addr.xsd doit être téléchargé à partir de https://www.w3.org/2005/08/addressing/, et il existe plusieurs fichiers .wsdl et .xsd sur http: //docs.oasis-open Téléchargement .org / wsn, il y aura ce message d'erreur.
Enfin affiché comme ceci est réussi:
Pour terminer le processus, compilez avec
:> soapcpp2 onvif.h
ou pour générer un proxy C ++ et des classes d'objets:
> soapcpp2 -j onvif.h
Un fichier nommé onvif.h est généré dans le chemin actuel, ouvrez-le, ajoutez #import "wsse.h" comme indiqué ci-dessous:
Exécutez ensuite: soapcpp2 -j -2 -x onvif.h -I./gsoap-2.8/gsoap/import -I./gsoap-2.8/gsoap/
Les deux derniers répertoires se trouvent devant la couche d'importation vers gsoap
La prochaine couche à l'importation de gsoap
Le mauvais répertoire signale une erreur:
Après le succès, c'est comme ça:
Ma hiérarchie de répertoires et fichiers source générés: