从 onvif .wsdl 生成 .java
Generating .java from onvif .wsdl
我写了一个 Java 与相机一起工作的应用程序。我从 onvif 站点 devicemgmt.wsdl and generate .java files using wsimport.exe. It works well but it has not enough methods for me. I need to receive events from the camera like motion detection or closing contacts of button. I tried to use deviceIOPort 获取文件作为 .wsdl 文件。
一个注意事项:我在我的 .wsdl 文件中添加了这个 service:
<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
和添加自定义方法。
P.S。如果你发现错误发给我,我还在学习英语
在我添加到文件 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 by wget 下载所有 onvif 文件规范并使用它。如果您想单独下载文件然后使用它,您必须更改 <import>
location
属性。
我写了一个 Java 与相机一起工作的应用程序。我从 onvif 站点 devicemgmt.wsdl and generate .java files using wsimport.exe. It works well but it has not enough methods for me. I need to receive events from the camera like motion detection or closing contacts of button. I tried to use deviceIOPort 获取文件作为 .wsdl 文件。
一个注意事项:我在我的 .wsdl 文件中添加了这个 service:
<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
和添加自定义方法。
P.S。如果你发现错误发给我,我还在学习英语
在我添加到文件 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 by wget 下载所有 onvif 文件规范并使用它。如果您想单独下载文件然后使用它,您必须更改 <import>
location
属性。