Onvif云台控制返回值异常

Onvif 云台的Continue控制,为什么返回的是500
struct tptz_ContinuousMove stPtzMoveReq;
struct tptz_ContinuousMoveResponse stPtzMoveRes;
memset(&stPtzMoveReq, 0x00, sizeof(stPtzMoveReq));
memset(&stPtzMoveRes, 0x00, sizeof(stPtzMoveRes));

struct tt__PTZSpeed* stVelocity = soap_new_tt__PTZSpeed(stSoapInfo, -1);
switch (nControlType)
{
case 0:
{
    struct tt__Vector2D* stPanTilt = soap_new_tt__Vector2D(stSoapInfo, -1);
    stPanTilt->x = fPtzPanX;
    stPanTilt->y = fPtzPanY;
    //stPanTilt->space = "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace";
    **stVelocity->PanTilt = stPanTilt;**
    break;
}
case 1:
{
    struct tt__Vector1D* stZoom = soap_new_tt__Vector1D(stSoapInfo, -1);
    stZoom->x = fPtzPanX;
    //stZoom->space = "http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace"; 
    //stVelocity->Zoom = stZoom;
    break;
}
default:
    nRet = ONVIFSDK_ERROR;
    goto EXIT;
    break;
}

stPtzMoveReq.Velocity = stVelocity;
stPtzMoveReq.ProfileToken = (OnvifPopTokenInfo(nChannelIndex)->pMainStreamToken);

// long long llTimeOut = 10000;// 单位为毫秒
// stPtzMoveReq.Timeout = &llTimeOut;
nRet = soap_call___tptz__ContinuousMove(stSoapInfo, m_pPtzAddr, nullptr, &stPtzMoveReq, &stPtzMoveRes);
if (nRet != SOAP_OK || stSoapInfo->error != SOAP_OK)
{
nRet = ONVIFSDK_ERROR;
goto EXIT;
}
这样的代码有误吗?
;每当这两个变量
stVelocity->Zoom = stZoom
stVelocity->PanTilt = stPanTilt
赋值时返回的就是soap_call___tptz__ContinuousMove返回只为500

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^