gpt4 book ai didi

java - 从 onvif .wsdl 生成 .java

转载 作者:行者123 更新时间:2023-11-30 10:57:43 24 4
gpt4 key购买 nike

我编写了一个与相机配合使用的 Java 应用程序。我从 onvif 站点获取文件 devicemgmt.wsdl并使用 wsimport.exe 生成 .java 文件。它运作良好,但对我来说没有足够的方法。我需要从相机接收事件,例如运动检测或按钮的关闭触点。我尝试使用 deviceIOPort作为 .wsdl 文件。
请注意:我将此服务添加到我的 .wsdl 文件中:

   <wsdl:service name="DeviceService">
<wsdl:port name="DevicePort" binding="tds:DeviceBinding">
<soap:address location="http://ip/onvif/device_service"/>
</wsdl:port>
</wsdl:service>

它适用于 devicemgmt.wsdl,但当我将它用于 deviceIOPort 时它可以工作,但没有添加新方法。

要生成 java 文件,我使用命令:

wsimport -d where_to_place_generated_files ..\deviceIOBinding.wsdl -keep -Xnocompile -verbose > ..\log.txt

如何在使用 deviceIOPort 的同时添加自定义方法。

附言如果你发现错误发给我,我还在学习英语

最佳答案

在我添加到文件 deviceIOPort.wsdl 之后 <wsdl:binding>这个:

   <wsdl:service name="DeviceService">
<wsdl:port name="DeviceIOPort" binding="tmd:DeviceIOBinding">
<soap:address location="http://ip/onvif/device_service"/>
</wsdl:port>
<wsdl:port name="MediaPort" binding="trt:MediaBinding">
<soap:address location="http://ip/onvif/device_service"/>
</wsdl:port>
<wsdl:port name="DevicePort" binding="tds:DeviceBinding">
<soap:address location="http://ip/onvif/device_service"/>
</wsdl:port>
</wsdl:service>

添加了新方法,对我来说效果很好。

还有一个注意事项:我只是从 www.onvif.org 下载通过 wget所有 onvif 文件规范并使用它。如果你想单独下载文件然后使用它,你必须在 <import> 中进行更改location属性。

关于java - 从 onvif .wsdl 生成 .java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495834/

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