Java 从wsdl(cxf)生成代码的最简单方法是什么?

Java 从wsdl(cxf)生成代码的最简单方法是什么?,java,wsdl,cxf,wsdl2java,wsimport,Java,Wsdl,Cxf,Wsdl2java,Wsimport,我需要使用具有webservice安全性的webservice。此Web服务是使用cxf创建的(不是由我创建的) 到目前为止,我试过: 使用本地下载的wsdl()进行wsimport。这失败了,出现了几个错误。我尝试了它,但没有使用-extension说“没有可用的端口,请尝试使用-extension”。我试过了,扩展名是“没有标准的SOAP”。所以我认为这可能是因为他们使用了CXF 在eclipse()中使用cxf的web服务客户端。当我在步骤3d中选择“Apache CXF 2”时,OK按钮

我需要使用具有webservice安全性的webservice。此Web服务是使用cxf创建的(不是由我创建的)

到目前为止,我试过:

使用本地下载的wsdl()进行wsimport。这失败了,出现了几个错误。我尝试了它,但没有使用-extension说“没有可用的端口,请尝试使用-extension”。我试过了,扩展名是“没有标准的SOAP”。所以我认为这可能是因为他们使用了CXF

在eclipse()中使用cxf的web服务客户端。当我在步骤3d中选择“Apache CXF 2”时,OK按钮变灰。如果我理解正确,可能是一个未解决的错误()

wsdl2java()。我在单击finish时遵循了获取异常的说明“完成进程时出错-java.lang.InterruptedException:java.lang.RuntimeException:java.lang.reflect.InvocationTargetException”

编辑:我现在在命令提示符下运行wsdl2java,出现以下错误:

wsdl2java-dc:\xkfz-client-verbose C:\xkfz.wsdl 正在加载前端jaxws。。。 正在加载数据绑定jaxb。。。 wsdl2java-dc:\xkfz-client-verbose C:\xkfz.wsdl wsdl2java-Apache CXF 3.0.1

2014年8月26日下午4:07:23 org.apache.cxf.wsdl11.WSDLServiceBuilder checkForWrapped 信息:操作{}VerabeitexKFZ无法展开,输入消息必须引用与操作具有相同localname的全局元素声明

有没有办法生成我想要的类?这不应该那么复杂:-/


我将Win7/64与最新的Eclipse EE和JDK一起使用。

尝试使用Eclipse插件生成类


CXF包含一个Maven插件,可以从WSDL生成java工件。 添加一些指定的配置值就足够了,如下所示:

<plugin>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-codegen-plugin</artifactId>
    <version>${cxf.version}</version>
    <executions>
        <execution>
            <id>generate-sources</id>
            <phase>generate-sources</phase>
            <configuration>
                <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${basedir}/src/main/resources/myService.wsdl</wsdl>
                    </wsdlOption>
                </wsdlOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

org.apache.cxf
地址以获取更多信息。

希望这能有所帮助。

我发现我可以忽略wsdl2java中的错误,因为它生成了一个类。根据我从ws-creator那里得到的示例,我只希望得到另一个类名。

对不起,忘了提到这个。我已经试过了。但是在将这些ZIP解压到我的eclipse-plugins-folder中之后,我没有得到“ImportWebService引用”。你能发布WSDL url吗?至于Eclipse bug,可能与此有关:。在我看来,axis2 wsdl2java就是在幕后使用的。你能证实吗?不!您应该直接将cxf添加到您的项目依赖项中!