gpt4 book ai didi

java - 从 Onvif wsdl 文件生成客户端 Web 服务

转载 作者:行者123 更新时间:2023-12-01 13:24:05 32 4
gpt4 key购买 nike

我正在尝试从位于 hereOnvif 标准 wsdl 文件创建客户端 Web 服务。使用 Apache CFX 完成 Eclipse 向导中的所有步骤后,我得到以下输出:


Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -client -d /storage/workspaces/homework/ws1/.cxftmp/src -classdir /storage/workspaces/homework/ws1/build/classes -impl -validate -exsh false -dns true -dex true -wsdlLocation http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl
wsdl2java - Apache CXF 2.7.10

Feb 19, 2014 12:38:27 PM org.apache.cxf.tools.validator.internal.WSDLRefValidator collectValidationPoints
WARNING: WSDL document http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl does not define any services

WSDLToJava Error: Schema Error : src-resolve: Cannot resolve the name 'wsa:EndpointReferenceType' to a(n) 'type definition' component.

org.apache.cxf.tools.common.ToolException: Schema Error : src-resolve: Cannot resolve the name 'wsa:EndpointReferenceType' to a(n) 'type definition' component.
at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.validateSchema(JAXBDataBinding.java:1001)
at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.addSchemas(JAXBDataBinding.java:652)
at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:443)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:714)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:270)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:164)
at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:412)
at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
at org.apache.cxf.tools.wsdlto.WSDLToJava.main(WSDLToJava.java:184)
Caused by: org.xml.sax.SAXParseException; src-resolve: Cannot resolve the name 'wsa:EndpointReferenceType' to a(n) 'type definition' component.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:347)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4166)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4145)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getGlobalDecl(XSDHandler.java:1678)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(XSDElementTraverser.java:405)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDElementTraverser.traverseLocal(XSDElementTraverser.java:194)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.traverseLocalElements(XSDHandler.java:3618)
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:633)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:616)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:574)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:540)
at com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:252)
at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:627)
at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.validateSchema(JAXBDataBinding.java:995)
... 10 more

我是网络服务新手。谁能解释一下问题是什么以及我应该做什么来解决它?

最佳答案

最后,我设法找到了适合我的场景的解决方法:

我没有通过 Eclipse 生成 Java 类,而是直接通过 CLI 生成,使用 apache-cfx tutorial 中建议的命令。 。之后,我将生成的文件导入到我的 Eclipse 项目中。对于那些需要深入研究这个问题的人,here我对一个非常相似的问题有一个答复。

希望对某人有用。

关于java - 从 Onvif wsdl 文件生成客户端 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878059/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com