当功能 "http://apache.org/xml/features/disallow-doctype-decl" 设置为 true 时,不允许获取 DOCTYPE
Getting DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true
我得到
DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true
line 1 of https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl
使用 wsimport 从 wsdl 文件生成 java 类 时出错。
是否有解决此问题的方法或解决方案,特别是在使用 wsimport 时?
以下是我使用的命令以及我从 wsimport 得到的完整响应:
wsimport" -Xnocompile -extension -clientjar my.jar -d . -generateJWS https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl
正在解析 WSDL...
[错误] 当功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 true 时,不允许使用 DOCTYPE。
https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl
的第 1 行
[错误] 当功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 true 时不允许使用 DOCTYPE。
无法读取 WSDL 文档:https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl,因为 1) 找不到该文档; /2) 文档无法读取; 3) 文档的根元素不是wsdl:definitions.
[错误] 在提供的 WSDL 中找不到 wsdl:service:
需要提供至少一个 WSDL,其中至少有一个服务定义。
无法解析 WSDL。
正在下载 WSDL 和关联的元数据
Exception in thread "main" java.lang.IllegalStateException: DOMStreamReader: Calling next() at END_DOCUMENT
at com.sun.xml.internal.ws.streaming.DOMStreamReader._next(DOMStreamReader.java:764)
at com.sun.xml.internal.ws.streaming.DOMStreamReader.next(DOMStreamReader.java:737)
at com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter.bridge(XMLStreamReaderToXMLStreamWriter.java:92)
at com.sun.tools.internal.ws.util.WSDLFetcher.fetchFile(WSDLFetcher.java:121)
at com.sun.tools.internal.ws.util.WSDLFetcher.fetchWsdls(WSDLFetcher.java:86)
at com.sun.tools.internal.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:437)
at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:190)
at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:159)
at com.sun.tools.internal.ws.WsImport.main(WsImport.java:42)
看起来 wsimport
命令的行为是区分大小写的。这个提到了类似的东西。
客户端是用(wsimport
与 Oracle JDK 版本 1.8 捆绑在一起生成的。0_202-b08):
wsimport -Xnocompile -extension -clientjar my.jar -d . -generateJWS https://core4.gatewayedi.com/V1/CAQHCoreIV/caqhcoreV4.svc?wsdl
主要区别在于 URL 中使用了区分大小写。 URL https://core4.gatewayedi.com/V1/CAQHCoreIV/caqhcoreV4.svc?wsdl 匹配
使用 WSDL 文件中的 location
条目。
我得到
DOCTYPE is disallowed when the feature "http://apache.org/xml/features/disallow-doctype-decl" set to true
line 1 of https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl
使用 wsimport 从 wsdl 文件生成 java 类 时出错。
是否有解决此问题的方法或解决方案,特别是在使用 wsimport 时?
以下是我使用的命令以及我从 wsimport 得到的完整响应:
wsimport" -Xnocompile -extension -clientjar my.jar -d . -generateJWS https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl
正在解析 WSDL...
[错误] 当功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 true 时,不允许使用 DOCTYPE。 https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl
的第 1 行[错误] 当功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 true 时不允许使用 DOCTYPE。
无法读取 WSDL 文档:https://core4.gatewayedi.com/v1/caqhcoreiv/caqhcorev4.svc?wsdl,因为 1) 找不到该文档; /2) 文档无法读取; 3) 文档的根元素不是wsdl:definitions.
[错误] 在提供的 WSDL 中找不到 wsdl:service:
需要提供至少一个 WSDL,其中至少有一个服务定义。
无法解析 WSDL。
正在下载 WSDL 和关联的元数据
Exception in thread "main" java.lang.IllegalStateException: DOMStreamReader: Calling next() at END_DOCUMENT
at com.sun.xml.internal.ws.streaming.DOMStreamReader._next(DOMStreamReader.java:764)
at com.sun.xml.internal.ws.streaming.DOMStreamReader.next(DOMStreamReader.java:737)
at com.sun.xml.internal.ws.util.xml.XMLStreamReaderToXMLStreamWriter.bridge(XMLStreamReaderToXMLStreamWriter.java:92)
at com.sun.tools.internal.ws.util.WSDLFetcher.fetchFile(WSDLFetcher.java:121)
at com.sun.tools.internal.ws.util.WSDLFetcher.fetchWsdls(WSDLFetcher.java:86)
at com.sun.tools.internal.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:437)
at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:190)
at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:159)
at com.sun.tools.internal.ws.WsImport.main(WsImport.java:42)
看起来 wsimport
命令的行为是区分大小写的。这个
客户端是用(wsimport
与 Oracle JDK 版本 1.8 捆绑在一起生成的。0_202-b08):
wsimport -Xnocompile -extension -clientjar my.jar -d . -generateJWS https://core4.gatewayedi.com/V1/CAQHCoreIV/caqhcoreV4.svc?wsdl
主要区别在于 URL 中使用了区分大小写。 URL https://core4.gatewayedi.com/V1/CAQHCoreIV/caqhcoreV4.svc?wsdl 匹配
使用 WSDL 文件中的 location
条目。