首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hyperjaxb和Apache CXF

Hyperjaxb和Apache CXF
EN

Stack Overflow用户
提问于 2010-06-10 05:01:51
回答 2查看 2.6K关注 0票数 1

我正在尝试将Hyperjaxb3与Apache CXF结合使用,以便从WSDL优先的web服务生成持久性注释。我已经将Hyperjaxb3-ejb-plugin插入到cxf-codegen-plugin中,如下所示。

代码语言:javascript
复制
<plugin>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-codegen-plugin</artifactId>
  <version>${cxf.version}</version>
  <dependencies>
    <dependency>
      <groupId>org.jvnet.jaxb2_commons</groupId>
      <artifactId>jaxb2-basics</artifactId>
      <version>0.5.2</version>
    </dependency>
    <dependency>    
      <groupId>org.jvnet.hyperjaxb3</groupId>
      <artifactId>hyperjaxb3-ejb-plugin</artifactId>
      <version>0.5.4</version>
    </dependency>
  </dependencies> 
  <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/wsdl/CDXLEAToCourt.wsdl</wsdl>
            <xjcargs>
              <xjcarg>-Xequals</xjcarg>
              <xjcarg>-XtoString</xjcarg>
              <xjcarg>-Xhyperjaxb3-ejb</xjcarg>
            </xjcargs>
          </wsdlOption>
        </wsdlOptions>
      </configuration>
      <goals>
        <goal>wsdl2java</goal>
      </goals>
    </execution>
  </executions>
</plugin>

当我生成源代码时,我得到了以下信息性堆栈跟踪。

代码语言:javascript
复制
Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.2.7:wsdl2java (generate-sources) on project leaToCourtWS: Failed to generate types. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.cxf:cxf-codegen-plugin:2.2.7:wsdl2java (generate-sources) on project leaToCourtWS: Failed to generate types.
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:585)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:324)
  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:247)
  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:104)
  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:427)
  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:157)
  at org.apache.maven.cli.MavenCli.main(MavenCli.java:121)
  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 org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to generate types.
  at org.apache.cxf.maven_plugin.WSDL2JavaMojo.callWsdl2Java(WSDL2JavaMojo.java:409)
  at org.apache.cxf.maven_plugin.WSDL2JavaMojo.execute(WSDL2JavaMojo.java:361)
  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
  at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:577)
  ... 14 more
Caused by: org.apache.cxf.tools.common.ToolException: Failed to generate types.
  at org.apache.cxf.tools.wsdlto.databinding.jaxb.JAXBDataBinding.generate(JAXBDataBinding.java:716)
  at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.generateTypes(WSDLToJavaContainer.java:582)
  at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:228)
  at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:128)
  at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:271)
  at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:103)
  at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
  at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
  at org.apache.cxf.maven_plugin.WSDL2JavaMojo.callWsdl2Java(WSDL2JavaMojo.java:406)
  ... 17 more

我已经用头撞了它好一阵子了。我试着在没有Hyperjaxb的情况下继续这个项目,但不想产生维护成本。有什么想法吗?异常的解决方案-或者使用Hyperjaxb的替代方案-将是很好的解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-12 03:05:53

找到了解决方案。我给项目负责人Aleksei发了一封电子邮件,他告诉我.5.5中引入了Hyperjaxb3 CXF集成,它还没有发布。哦!

他建议我用snapshot repository。我将存储库添加到我的POM中,将hyperjaxb3-ejb-plugin的版本更改为0.5.5-SNAPSHOT-到目前为止,一切都运行得很好。

票数 3
EN

Stack Overflow用户

发布于 2010-06-10 18:31:06

问题似乎来自您的WSDL文件。

在Hyperjaxb3的源代码中有一个名为customerservice-cxf的工作示例,它可能会对您有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3009916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档