有人可以帮我解决WSDL文件的错误。
wsimport -d test uri_to_my_wsdl
parsing WSDL...
[WARNING] src-resolve: Cannot resolve the name 'ns1:HeaderType' to a(n) 'type definition' component.
line 27 of uri_to_my_wsdl=anotherWS.wsdl#types?schema2
[ERROR] A class/interface with the same name "some_pkg.ObjectFactory" is already in use. Use a class customization to resolve this conflict.
[ERROR] (Relevant to above error) another "ObjectFactory" is generated from here.
line 72 of uri_to_my_wsdl=anotherWS.wsdl
Exception in thread "main" java.lang.NullPointerException
at com.sun.tools.internal.xjc.util.Util.equals(Util.java:56)
at com.sun.tools.internal.xjc.util.CodeModelClassFactory.createClass(CodeModelClassFactory.java:119)
at com.sun.tools.internal.xjc.util.CodeModelClassFactory.createClass(CodeModelClassFactory.java:66)
at com.sun.tools.internal.xjc.generator.bean.ImplStructureStrategy$1.createClasses(ImplStructureStrategy.java:67)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.generateClassDef(BeanGenerator.java:392)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.getClazz(BeanGenerator.java:424)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:191)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:164)
at com.sun.tools.internal.xjc.model.Model.generateCode(Model.java:275)
at com.sun.tools.internal.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:240)
at com.sun.tools.internal.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:74)
at com.sun.tools.internal.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:123)
at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2234)
at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:176)
at com.sun.tools.internal.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:122)
at com.sun.tools.internal.ws.wscompile.WsimportTool.run(WsimportTool.java:172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.tools.internal.ws.Invoker.invoke(Invoker.java:111)
at com.sun.tools.internal.ws.WsImport.main(WsImport.java:41)
因为WS不公开,所以我不能在这里发布WSDL的真实路径。 我可以通过电子邮件或其他私人信息发送给您。
答案 0 :(得分:3)
您可以安全地忽略警告。我正在为我的WSDL做同样的事情,因为生成的存根包含我需要的东西。
关于Error它清楚地说明了WSDL中有一个重复的ObjectFactory。 请使用类似于下面的模式自定义方案。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bindings
xmlns="http://java.sun.com/xml/ns/jaxb"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
version="2.0">
<bindings schemaLocation="my.xsd" node="/xsd:schema">
<bindings node="xsd:complexType[@name='MyObject']">
<jaxb:property name="MyObjectNewName"/>
</bindings>
</bindings>
</bindings>