运行wsimport时出现错误“重复的“消息”实体”

时间:2018-08-31 23:04:45

标签: wsimport

例如,在使用wsimport时

wsimport -J-Djavax.xml.accessExternalSchema=all -keep -verbose https://example.com/path/foo.svc?wsdl

我得到的错误是

[ERROR] duplicate "message" entity: "..."
  line 1 of https://example.com/Path/foo.svc?wsdl

Exception in thread "main" com.sun.tools.internal.ws.wscompile.AbortException
    at com.sun.tools.internal.ws.wsdl.framework.AbstractDocument.define(AbstractDocument.java:129)
    at com.sun.tools.internal.ws.wsdl.document.Definitions.add(Definitions.java:81)
    at com.sun.tools.internal.ws.wsdl.parser.WSDLParser.parseDefinitionsNoImport(WSDLParser.java:278)
    at com.sun.tools.internal.ws.wsdl.parser.WSDLParser.processImports(WSDLParser.java:221)
    at com.sun.tools.internal.ws.wsdl.parser.WSDLParser.parseDefinitions(WSDLParser.java:210)
    at com.sun.tools.internal.ws.wsdl.parser.WSDLParser.buildWSDLDocument(WSDLParser.java:193)
    at com.sun.tools.internal.ws.wsdl.parser.WSDLParser.parse(WSDLParser.java:165)
    at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:120)
    at com.sun.tools.internal.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:429)
    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)

为什么会出现此错误?

1 个答案:

答案 0 :(得分:1)

我有类似的问题。我的问题是网址的字母数字大小写与xml文件中的位置网址不匹配。

您的https网址应指向xml格式的文件。在xml文件中,您应该具有位置属性。

使用wsimport时,请确保字母数字大小写与xml文件中的url位置匹配。

例如,

ToList