【问题标题】:Onvif - GetDigitalInputs ends with Namespace ErrorOnvif - GetDigitalInputs 以命名空间错误结束
【发布时间】:2018-03-06 11:36:42
【问题描述】:

我无法从使用 ONVIF 作为通信协议的摄像机获取数字输入。我知道,相机有 2 个数字输入,无需登录即可匿名访问。

我正在使用来自此 WSDL 的操作 GetDigitalInputshttps://www.onvif.org/ver10/deviceio.wsdl。其他一些操作有效。例如我可以成功使用GetRelayOutputs

这是我向相机发送到 deviceIO 服务 URL (http://ipaddress/onvif/deviceio_service) 的请求。设备 IO 服务 URL 是从 GetCapabilities 操作的结果中获取的:

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
    <s:Body>
      <GetDigitalInputs xmlns="http://www.onvif.org/ver10/deviceIO/wsdl" />
    </s:Body>
</s:Envelope>

这是回复

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:ter="http://www.onvif.org/ver10/error">
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <SOAP-ENV:Code>
                <SOAP-ENV:Value>SOAP-ENV:Sender</SOAP-ENV:Value>
                <SOAP-ENV:Subcode>
                    <SOAP-ENV:Value>ter:Namespace</SOAP-ENV:Value>
                </SOAP-ENV:Subcode>
            </SOAP-ENV:Code>
            <SOAP-ENV:Reason>
                <SOAP-ENV:Text xml:lang="en">Namespace Error</SOAP-ENV:Text>
            </SOAP-ENV:Reason>
            <SOAP-ENV:Node>http://www.w3.org/2003/05/soap-envelope/node/ultimateReceiver</SOAP-ENV:Node>
            <SOAP-ENV:Role>http://www.w3.org/2003/05/soap-envelope/node/ultimateReceiver</SOAP-ENV:Role>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我尝试将GetDigitalInputs 的命名空间更改为http://www.onvif.org/ver10/deviceio/wsdlhttp://www.onvif.org/ver10/device/wsdl。两者都不起作用。

我尝试过使用Onvif Device Test Tool,与我遇到的问题相同。

我在操作 GetSerialPorts 时遇到了同样的问题。两者都在多个不同的博世相机上。

【问题讨论】:

    标签: soap onvif


    【解决方案1】:

    下面的 XML 呢?

    <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Body>
          <tmd:GetDigitalInputs xmlns:tmd="http://www.onvif.org/ver10/deviceIO/wsdl" />
        </s:Body>
    </s:Envelope>
    

    【讨论】:

    • 感谢您的建议,但这不起作用。它只是一个显式使用的命名空间别名,而不是隐式使用相同的命名空间。 - 不过我试过了 - 没有运气。
    猜你喜欢
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2012-10-24
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    相关资源
    最近更新 更多