【问题标题】:New onvif events wsdl still not fixed?新的 onvif 事件 wsdl 仍未修复?
【发布时间】:2015-06-28 03:59:25
【问题描述】:

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

ONVIF FAQ & Support page上提到了以下内容:

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

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

但是,当我将 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/ 并手动查找文件时,我可以看到它也没有在此处列出。文件所在的位置是否存在其他位置?

【问题讨论】:

  • 我不知道文件可能在哪里,但是您可以修改原始文件并自己修复吗?如果只是一个名称冲突,那么进行相同的修复可能并不难。显然也要更改 events.wsdl 中指向的位置。
  • 我试图修改原始的 .wsdl 文件,但后来我没有成功获得一个工作的 wsdl。
  • 您的文件“bw-2-vs-mod.wsdl”是相对于链接给出的路径,因此绝对路径是onvif.org/onvif/ver10/event/wsdl/bw-2-vs-mod.wsdl

标签: c# wsdl svcutil.exe onvif


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 2023-01-17
    • 2014-03-19
    • 1970-01-01
    相关资源
    最近更新 更多