有几个类似的问题,但没有一个明确地回答这个问题。
我使用wsimport从.wsdl文件(Onvif的wsdl文件)生成代码。正在运行
wsimport -keep https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl -extension -Xnocompile输出
At least one WSDL with at least one service definition needs to be provided.基于这就是答案,我添加了这个服务声明,在本地下载了onvif.xsd和common.xsd,修改了为这些Onvif文件指定的路径,然后生成代码。
是否有更直接的方法在这些Onvif上运行wsimport命令?有20个以上的wsdl文件,我发现手动下载,然后在每个文件中进行上述更改以能够运行wsimport是愚蠢的。
发布于 2018-04-21 12:12:16
您应该在您的WSDL文件中进行以下更改:
name="DeviceService"开头的<wsdl:definitions...<wsdl:service name="DeviceService"> <wsdl:port name="DevicePort" binding="tds:DeviceBinding"> <soap:address location="http://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl"/> </wsdl:port> </wsdl:service>在</wsdl:binding>之后的文件末尾
然后运行生成命令。
https://stackoverflow.com/questions/49937930
复制相似问题