我正在从 wsdl 文件生成客户端代码。如果不对代码进行任何更改,它就会停止工作,现在我收到以下错误消息:
[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.1.2:wsdl2java (generate-sources) on project myProject: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition from : file:/C:/myproject/src/main/resources/myservice.wsdl [ERROR] Caused by : WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema/xsd:schema): faultCode=PARSER_ERROR: Problem parsing 'http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd'.: java.io.FileNotFoundException: http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
最佳答案
在此处复制架构的内容
到本地文件并修改 ' http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd ' 到本地架构的新路径。
或修改 ' http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd ' 到: https://www.w3.org/TR/2008/REC-xmldsig-core-20080610/xmldsig-core-schema.xsd
发生这种情况是因为其中一个引用文献再次引用了此链接。默认情况下,wsdl2java 将尝试打开所有链接的 xsd - 无论是否需要。另请检查 wsdl2java http://cxf.apache.org/docs/wsdl-to-java.html 的 -nexclude 选项
关于java - 解析 xmldsig-core/xmldsig-core-schema.xsd 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47102508/