我使用wsimport生成我的Java存根文件。为此,我在Eclipse中使用了一个蚂蚁构建文件:

<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
    <classpath>
        <fileset dir="../lib">
            <include name="jaxws-tools.jar" />
        </fileset>
    </classpath>
</taskdef>

<target name="generate">
    <wsimport wsdl="../wsdl/Knowledgebase.wsdl"
              destdir="../bin"
              sourcedestdir="../gen"
              keep="true"
              xendorsed="true">
    </wsimport>
</target>

该任务运行无任何错误。它创建了不同的Java文件,也包括Knowledgebase.java和KnowledgebasePort.java。在der Knowledgebase.java中,有以下构造函数:
public Knowledgebase(WebServiceFeature... features) {
    super(__getWsdlLocation(), KNOWLEDGEBASE_QNAME, features);
}

对于他们,我得到一个错误“构造函数Service(...)未定义”。我导入了当前的jax-ws jar文件。我的生成过程是否被破坏,我使用了错误的jar或错误在哪里?

最佳答案

服务对象由Java EE SDK提供。它在Java EE 5和Java EE 6之间添加了新的构造函数。似乎您正在使用的wsimport来自Java EE 6 JDK,而编译器正在使用Java EE 5 SDK?

07-24 09:45
查看更多