我想为诸如Camera之类的设备生成服务器代码。这些设备有一个称为ONVIF的标准协议,该协议发布了一些流行的WSDL文档。因此,我必须根据ONFIV的WSDL文档生成一个接口和一个骨架。
当我使用wsdl2java从ONVIF wsdl文件生成服务器代码时,它说:
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>
如果没有,请为它们创建,然后运行generate命令。如果您需要更多信息,请通知我。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句