繁体   English   中英

从 onvif .wsdl 生成 .java

[英]Generating .java from onvif .wsdl

我编写了一个与相机配合使用的 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和添加自定义方法。

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

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

   <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>

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM