wsdl (jax-ws) 的 java wsimport 问题

标签 java jax-ws wsimport

谁能帮我看看 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 的真实路径。 我可以通过电子邮件或其他私有(private)消息将其发送给您。

最佳答案

您可以安全地忽略这些警告。我正在为我的 WSDL 做同样的事情,因为生成的 stub 包含我需要的东西。

关于错误,它清楚地表明 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>

关于wsdl (jax-ws) 的 java wsimport 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6120599/

相关文章:

java - 什么是NullPointerException,我该如何解决?

java - 如何计算到设定时间的剩余时间

java - Glassfish 抛出 com.sun.xml.ws.client.ClientTransportException : The server sent HTTP status code 500: Internal Server Error

jaxb - 通过 wsimport 使用 JAXB 剧集文件

java - 命令提示符中无法识别“wsimport”错误

java - WebService 类中的 Spring Autowired 不起作用

java getBytes 错误

java - 为什么 inet :/0. 0.0.0 被解释为 inet :/0:0:0:0:0:0:0:0 by com. sun.net.httpserver.HttpServer?

java - 如何强制 Java 8 wsimport 命令行生成 1.6 目标兼容代码

java - 使用 java8 (Streams) 的自定义对象比较列表