ONVIF wsdlでgSOAPを使用しています。2.8.10 での応答は、2.8.11 以降のバージョンとは異なります。これが私たちが直面していることであり、
1. Installed 2.8.10 version.
2. Executed below command to generate header file for ONVIF event wsdl.
wsdl2h -c -t /usr/local/share/gsoap/WS/typemap.dat -o event.h http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl
3. soapcpp2 is invoked on header file (event.h) to generate both client and server side code.
soapcpp2 -c -t -I /usr/local/share/gsoap/import/:/usr/local/share/gsoap event.h
4. Respective structures will be generated in header file soapStub.h.
In soapStub.h look for structure,
struct _ns1__GetEventPropertiesResponse->struct ns7__TopicSetType ->char **__any
*** Repeat step 2 & 3 with 2.8.11/12/13 installed and look for structures in soapStub.h struct _tev__GetEventPropertiesResponse->struct wstop__TopicSetType ->char *__any
2 つの変化が見られ、
名前空間について。ns1 は tev に置き換えられます。(これで解決しました)
char __any は 2.8.10 ではダブル ポインターですが、上記のバージョンではシングル ポインターです。(これを解決することはできません)
char __any が気になります。
2.8.11以降のバージョンでこの違いが見られる理由を理解するのを手伝ってください。これをどのように克服しますか?