我想为像Camera这样的设备生成服务器代码.这些设备有一个名为ONVIF的标准协议,它发布了一些流行的WSDL文档.所以我必须从ONFIV的WSDL文档生成一个接口和skelton.
当我使用wsdl2java从ONVIF wsdl file生成服务器代码时,它说:
org.apache.axis2.AxisFault: No services found in the WSDL at https://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl with targetnamespace http://www.onvif.org/ver10/device/wsdl
这些WSDL文件有问题吗?
如何基于ONVIF WSDL生成服务器代码?
解决方法:
我在从WSDL文件生成java类时遇到了同样的问题,以便创建ONVIF Web服务器.经过大量的调查后,我发现WDSL文件中有一些错误,我从https://www.onvif.org获得了这些错误
如果要正确创建java类,则需要对它们进行一些更改.
首先,在每个.wsdl文件中检查schemaLocation的正确路径,它可能需要更改为:schemaLocation =“../../../ ver10 / schema / onvif.xsd”/>
并检查所有.wsdl文件是否都有这样的服务标签.
<wsdl:service name="DeviceIOPService">
<wsdl:port name="DeviceIOPort" binding="tmd:DeviceIOBinding">
<soap:address location="http://www.onvif.org/ver10/deviceIO/wsdl"/>
</wsdl:port>
</wsdl:service>
如果他们没有,为他们创建,然后运行生成命令.
如果您需要更多信息,请通知我.