Chuuya_ 2023-08-31 19:16 采纳率: 0%
浏览 7

Onvif客户端中GetProfiles接口返回值-1

OnvifServer端用wireshark抓包GetProfiles接口返回200OK,但是Onvif客户端中soap_call_trt_GetProfiles接口返回值-1,导致添加设备获取通道失败,请问有人知道为什么吗

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-31 23:06
    关注

    【以下回答由 GPT 生成】

    我可以尝试帮助解决这个问题。首先,返回值为-1可能表示在调用soap_call_trt_GetProfiles接口时出现了错误。要解决这个问题,我建议您按照以下步骤进行排查:

    1. 确保您的代码正确连接到Onvif服务器,并且已经建立了有效的连接。您可以通过检查其他Onvif请求的返回值或使用网络调试工具来验证此步骤。

    2. 检查您的代码的soap_call_trt_GetProfiles函数调用是否正确。确保您已正确设置了相关参数,如SOAP_ACTION和soap_endpoint。您可以参考Onvif的文档或代码示例来确认是否正确设置了这些参数。

    下面是一个可能的示例代码:

    #include "soapH.h"
    #include "soapStub.h"
    
    int main() {
      // 初始化soap环境
      struct soap soap;
      soap_init(&soap);
    
      // 设置Onvif服务器的地址和端口
      const char* endpoint = "http://localhost:8888/onvif";
    
      // 调用GetProfiles接口
      _trt__GetProfiles trt__GetProfiles;
      _trt__GetProfilesResponse trt__GetProfilesResponse;
      if (soap_call_trt_GetProfiles(&soap, endpoint, "", &trt__GetProfiles, trt__GetProfilesResponse) == SOAP_OK) {
        // 成功调用GetProfiles接口
      } else {
        // 调用GetProfiles接口失败
        std::cout << "Call to GetProfiles failed!" << std::endl;
      }
    
      // 清理soap环境
      soap_destroy(&soap);
      soap_end(&soap);
      soap_done(&soap);
    
      return 0;
    }
    
    1. 检查Onvif服务器端的配置。确保服务器已正确配置并正常运行,可以通过其他客户端测试此接口是否可用。

    如果以上步骤都没有找到问题所在,我建议您查看Onvif的文档或在Onvif的开发者社区寻求帮助。由于Onvif是一个标准协议,并且在不同的设备上可能会有不同的实现,所以可能需要更多专业的Onvif相关知识才能找到解决办法。

    如果这个答案对您有帮助,请您告诉我。如果您还有其他问题,请随时提问。


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

报告相同问题?

问题事件

  • 创建了问题 8月31日

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址