1. gsoapをダウンロードする
公式ウェブサイトのダウンロードアドレス:https : //sourceforge.net/projects/gsoap2
2. wsdlファイルをダウンロードします
ウェブサイト:https : //www.onvif.org/profiles/specifications/
次のファイルを右クリックしてダウンロードします。
赤いボックスファイルをwsdlというフォルダーに配置します。マウスの右ボタンを保存します。
gsoapによって抽出されたフォルダーに移動し、これらの2つのファイルを見つけて、wsdlと同じディレクトリーに配置します。
このファイルもwsdlと同じレベルのディレクトリに置かれます。
メモ帳++を使用してすべてのwsdlファイルを開き、schemaLocationを検索して.xsdファイルのパスを再構成します。これで、同じレベルになり、同じレベルのディレクトリに直接移動するため、以下のようにすべてのファイルが変更されます。
cmdはwsdlフォルダーの上位レベルに入り、以下を実行します。
wsdl2h -t typemap.dat -o onvif.h ./wsdl/accesscontrol.wsdl ./wsdl/accessrules.wsdl ./wsdl/actionengine.wsdl ./wsdl/advancedsecurity.wsdl ./wsdl/analytics.wsdl ./wsdl/ appmgmt.wsdl ./wsdl/authenticationbehavior.wsdl ./wsdl/credential.wsdl ./wsdl/deviceio.wsdl ./wsdl/devicemgmt.wsdl ./wsdl/display.wsdl ./wsdl/doorcontrol.wsdl ./wsdl/event .wsdl ./wsdl/imaging.wsdl ./wsdl/media.wsdl ./wsdl/media2.wsdl ./wsdl/provisioning.wsdl ./wsdl/ptz.wsdl ./wsdl/receiver.wsdl ./wsdl/recording。 wsdl ./wsdl/replay.wsdl ./wsdl/schedule.wsdl ./wsdl/search.wsdl ./wsdl/thermal.wsdl ./wsdl/uplink.wsdl
実行後、エラーが発生する可能性があります。フォルダなどが見つからず、最後に実行されたファイルを確認し、このファイルを開いて、見つからないファイルの名前を検索し、対応するWebサイトにアクセスしてダウンロードします。(誤ってcmdウィンドウを閉じて、スクリーンショットはありません)エラーメッセージを読んでから、上記のようにxsdファイルを構成する必要があります。
1つの追加ポイント:ws-addr.xsdはhttps://www.w3.org/2005/08/addressing/からダウンロードする必要があり、http://docs.oasis-openにはいくつかの.wsdlファイルと.xsdファイルがあります。 .org / wsn download、このエラーメッセージが表示されます。
これが成功したため、最後に表示されます:
プロセスを完了するには、
:> soapcpp2 onvif.h
またはC ++プロキシとオブジェクトクラスを生成するには:
> soapcpp2 -j onvif.h
onvif.hという名前のファイルが現在のパスに生成され、それを開いて、以下に示すように#import "wsse.h"を追加します。
次に以下を実行します:soapcpp2 -j -2 -x onvif.h -I./gsoap-2.8/gsoap/import -I./gsoap-2.8/gsoap/
最後の2つのディレクトリは、gsoapへのインポート層の前にあります
gsoapのインポートの次のレイヤー
間違ったディレクトリはエラーを報告します:
成功すると、次のようになります。
私のディレクトリ階層と生成されたソースファイル: