xml - 海康威视日志搜索 REST API(POST 方法)给出无效的 XML 格式

标签 xml rest

我想捕获我的 Hikvision DVR 的日志详细信息。为了捕获日志,HikVision 在其 RACM 规范文档中提供了 REST Web 服务。 在点击该服务时,我收到了 badXMLFormat 响应错误。

请在下面找到问题的详细描述。

设备详细信息:

设备名称:嵌入式网络硬盘录像机 产品编号:DS-7208HQHI-F1 固件版本:V3.4.80

服务网址:http://myDVRStaticIPAddress/ISAPI/ContentMgmt/logSearch 方法:POST

输入/请求正文

<?xml version="1.0" encoding="UTF-8"?>
<CMSearchDescription version="1.0"
xmlns="http://www.isapi.org/ver20/XMLSchema">
<searchID>{812F04E0-4089-11A3-9A0C-0305E82C2906}</searchID>
<timeSpanList>
<timeSpan>
<startTime>2013-06-10T12:00:00Z</startTime>
<endTIme>2013-06-10T13:30:00Z</endTime>
<timeSpan>
</timeSpanList>
<metaID>log.hikvision.com/Alarm/motionstart</metaID>
<searchResultPostion> 20 </searchResultPostion>
<maxResults> 40 </maxResults>
</CMSearchDescription> 

响应

<?xml version="1.0" encoding="UTF-8" ?>
<ResponseStatus version="1.0" xmlns="urn:psialliance-org">
    <requestURL>/ISAPI/ContentMgmt/logSearch</requestURL>
    <statusCode>5</statusCode>
    <statusString>Invalid XML Format</statusString>
    <subStatusCode>badXmlFormat</subStatusCode>
</ResponseStatus>

我正在获取上述服务的 statusCode 5。看来我的输入 xml(CMSearchDescription) 格式不正确或不是更新的格式。

服务名称:/ISAPI/ContentMgmt/logSearch

我们将不胜感激任何对此问题的帮助。

提前致谢。

最佳答案

我在我的测试系统上运行它,它需要对您的 XML 进行一些更改,因为它的格式不正确。 (其中一些在之前的评论中提到过)

  1. 确保您的结尾正确 </timeSpan> , 你错过了 /
  2. 删除 searchResultPosition 和 maxResults 周围的空格(它仍然有效,但不正确)
  3. 您拼错了 <endTIme> 的开头标签,应该是<endTime>没有资本I .
  4. 最后,标签 metaID应该是 metaId没有资本D

此外,我无法完全测试您的 metaId 标记,因为我在该类别中没有任何匹配项。

这个log.std-cgi.com肯定会撤回所有日志条目,而这个 log.std-cgi.com/Alarm返回所有警报条目。

这是完整的 Xml

<?xml version='1.0' encoding='UTF-8'?>
<CMSearchDescription version='1.0' xmlns='http://www.isapi.org/ver20/XMLSchema'>
    <searchID>{812F04E0-4089-11A3-9A0C-0305E82C2906}</searchID>
    <timeSpanList>
        <timeSpan>
            <startTime>2013-06-10T12:00:00Z</startTime>
            <endTime>2013-06-10T13:30:00Z</endTime>
        </timeSpan>
    </timeSpanList>
    <metaId>log.hikvision.com/Alarm/motionstart</metaId>
    <searchResultPostion>20</searchResultPostion>
    <maxResults>40</maxResults>
</CMSearchDescription>

关于xml - 海康威视日志搜索 REST API(POST 方法)给出无效的 XML 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45995307/

相关文章:

python - 如何在 Django REST Framework 中显示查询参数选项 - Swagger

android - 使用 'bind' 和 'app' 命名空间设置自定义属性与 Android DB 之间的区别?

xml - 如何计算具有相同属性值的元素

java - 从java中的RestController返回多种(xml和json)格式

c# - 是否有可能在 WCF REST 4 中返回 HTML 作为响应格式之一

rest - 无法在 Office365 REST Api 中检索附件的 'ContentId' 属性

ios - 如何在 iOS 中将 NSData 变量转换为 NSInteger 变量

java DOM 在一行中解析 XML

java - 在Android中设置按钮的宽度

rest - TeamCity REST API 获取待定更改列表