2

要从符合 ONVIF 的设备检索事件,您需要使用 ONVIF 事件 wsdl。

ONVIF 常见问题和支持页面上提到了以下内容:

Visual Studio 2008、2010 和 2012 使用名为 svcutil.exe 的工具为 WCF 框架生成 Web 服务客户端。该工具通过将端口类型映射到接口以及将复杂类型映射到类而存在问题。当 wsdl 文件包含同名的端口类型和复杂类型时,这会在编译时导致名称冲突,例如“命名空间 'foo.Event' 已经包含 'CreatePullPoint' 的定义”。

作为一种解决方法,他们编辑了 events.wsdl 以使用修改后的 ws 基本通知文件,该文件可通过链接获得。

但是,当我将 wsdl 文件添加到我的解决方案时,我收到一条错误消息,指出无法找到 wsdl 文件中以下行中提到的文件

<wsdl:import namespace="http://docs.oasis-open.org/wsn/bw-2" location="bw-2-vs-mod.wsdl"/>  <!-- Use modified OASIS file to avoid svcutil name clash -->

当我浏览到http://docs.oasis-open.org/wsn/并手动查找文件时,我可以看到它也没有在此处列出。文件所在的其他位置是否存在?

4

1 回答 1

2

此处提供的 WSDL 链接不正确并且缺少字符。正确的 URL 是http://www.onvif.org/onvif/ver10/events/wsdl/event-vs.wsdl。使用此 URL 为我解决了命名空间错误。

于 2016-07-07T19:51:48.087 回答