gpt4 book ai didi

soap - 用于 Onvif wsdl 的 wsimport - 没有服务定义

转载 作者:行者123 更新时间:2023-12-04 14:23:51 25 4
gpt4 key购买 nike

有几个类似的问题,但没有一个明确回答这个问题。

我正在使用 wsimport从 .wsdl 文件( Onvif's wsdl files )生成代码。运行

wsimport -keep https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl -extension -Xnocompile

产出
At least one WSDL with at least one service definition needs to be provided.

基于 this SO answer我加了这个服务声明,本地下载了 onvif.xsd , 和 common.xsd ,修改为这些 Onvif 文件指定的路径,然后生成代码。

有没有更直接的方法来运行 wsimport在每个 Onvif URL 上命令? wsdl文件有20多个,我觉得手动下载很傻,然后在每个文件中做上面的修改才能运行 wsimport .

最佳答案

您应该在 WSDL 中进行这些更改文件:

  • 添加 name="DeviceService"在以 <wsdl:definitions... 开头的第 11 行
  • 添加
    <wsdl:service name="DeviceService">
    <wsdl:port name="DevicePort" binding="tds:DeviceBinding">
    <soap:address location="http://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl"/>
    </wsdl:port>
    </wsdl:service>

  • </wsdl:binding> 之后的文件末尾

    然后运行生成命令。

    关于soap - 用于 Onvif wsdl 的 wsimport - 没有服务定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49937930/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com