tt__Profile *t = profiles.Profiles.at(0);
OnvifClientPTZ PTZ(onvifDevice);
_tptz__GetConfigurationOptions tptz__GetConfigurationOptions;
_tptz__GetConfigurationOptionsResponse tptz__GetConfigurationOptionsResponse;
tt__PTZConfigurationOptions *options;
int response = PTZ.GetConfigurationOptions(tptz__GetConfigurationOptionsResponse, t->token);问题是PTZ#GetConfigurationOptions返回值1 (#response)。对象#onvifDevice看起来很好(onvifDevice.hasPTZ返回true)。我尝试过调试,onvifDevice.GetPTZUrl( strUrl )返回true,并将strUrl设置为192.168.1.88:2000/ PtzProxy对象的soap_endpoint (ptzProxy.soap_endpoint = strUrl.c_str();),它似乎很好。另外,"www.onvif.org/ver20/ptz/wsdl/GetConfigurationOptions“也是soap_action,它似乎也不错。我在用https://github.com/xsmart/onvifcpplib。
在PTZ代理中,在这里返回:
tptz__GetConfigurationOptionsResponse->soap_get(soap, "tptz:GetConfigurationOptionsResponse", "");
if (soap->error)
return soap_recv_fault(soap, 0);任何帮助都将不胜感激。
发布于 2016-05-23 12:58:12
我找到了解决办法。问题就在这一行上:
int response = PTZ.GetConfigurationOptions(tptz__GetConfigurationOptionsResponse, t->token);OnvifPTZClient#GetConfigurationOptions请求PTZConfiguration令牌,而不是配置文件令牌。所以正确的行文是:
response = PTZ.GetConfigurationOptions(tptz__GetConfigurationOptionsResponse, tr->PTZConfiguration->token);https://stackoverflow.com/questions/37378788
复制相似问题