4

Visual Studio と GSOAP 2.8.15 を使用して C++ Onvif クライアントを作成しています。

これらのコマンドを実行してソース コードを作成しました。

> wsdl2h -P -x -o onvif.h http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl

> soapcpp2 -i -C -IC:\gsoap-2.8.15\gsoap;C:\gsoap-2.8.15\gsoap\import onvif.h

次に、これらのファイルを MSVC ソリューションに入れます。

duration.h/.cpp
soapH.h/soapC.cpp
stdsoap2.h/.cpp

このファイルをディレクトリに追加しましたが、ソリューションには追加しませんでした:

soapStub.h

#defineこれをコンパイルに追加しました:

WITH_NONAMESPACES

このインクルードをプログラムのメイン ファイルに追加しました。

#include "soapDeviceBindingProxy.h"

これでDeviceBindingProxyオブジェクトが得られますが、どうすればよいかわかりません。既知の IP アドレスで Onvif カメラに接続し、デバイスに関する情報を要求したいと考えています。

GSOAP の例は Onvif に固有のものではなく、Onvif 疑似コードの例は GSOAP に固有のものではありません。どんな助けでも大歓迎です。

4

1 に答える 1

1

objectの定義を開くだけですDeviceBindingProxy(または、gSoap で生成されたソース ファイルに対してdoxygenを実行し、快適な HTML ドキュメントをお楽しみください)。

サービスが提供するアクションごとに、サービス定義に従って正確に名前が付けられた個別のメソッドを含める必要があります。

各メソッドは、リクエストとレスポンスの 2 つのパラメーターを取る必要があります (それらの型は、gSoap によって生成された構造体へのポインターです。詳細については、それらの定義/ドキュメントを参照してください)。

あなたがする必要があるのは、リクエストとレスポンスのインスタンスを作成し、リクエストを満たし、このメソッドへのポインタを渡し、(すでに解析された)レスポンスからデータを収集することだけです。

于 2013-07-17T13:08:50.907 に答える