当前位置: 首页 > 知识库问答 >
问题:

使用cxf从wsdl生成java代码会给代码带来太大的错误

林念
2023-03-14

我已经使用CXF2.7.3生成了从wsdl到java的代码,但是在构建程序集时,我得到了“代码太大”的错误。指示其中一个方法已超过Java64KB限制。我很清楚是哪个类,对我来说,这似乎是CXF中的bug。Actully Axis2也这样做,所以我想知道是否有人知道如何解决这个问题。

如何强制代码生成拆分大型生成方法?或者我应该使用一些外部工具吗?

[ERROR] \workspace\e-conomics\target\generated\src\main\java\com\e_conomic\Econo
micWebServiceSoap_EconomicWebServiceSoap12_Client.java:[34,23] error: code too l
arge

共有1个答案

邢飞白
2023-03-14

这里有一个3MB的WSDL文档。(难怪当我试图查看这种大小的通用XML文档时,浏览器会有点不高兴。)它定义了大约3000个元素;还有3K消息和4.5K操作。我不知道您的极限是什么(有几个地方构建了特定类型的所有实体的注册中心),但这并不重要。它对大多数代码来说太大了,无法正常处理。(您遇到的限制似乎是一个方法的字节码总大小的限制;遇到这个限制通常表明其他地方出现了严重的问题:在本例中,它是破坏掩体的WSDL文档。)

构造一个具有更小的元素、消息和操作集的精简版本将是一个极好的想法。将精简后的版本放在Maven可以找到的存储库中(例如src/main/wsdl)也很有意义,因为这样可以阻止您在每次构建时再次下载那个3MB的文档。

 类似资料:
  • 问题内容: 我有一个单元测试,其中我静态定义了一个很大的字节数组(超过8000个字节)作为我每次运行单元测试时都不希望读取的文件的字节数据。 这在Eclipse中可以正常编译,但是通过Ant脚本进行编译时,出现以下错误: 任何想法为何以及如何避免这种情况? 答案 :Shimi的答案成功了。我将字节数组移到一个单独的类中,并且编译良好。谢谢! 问题答案: Java中的方法在字节码中限制为64k。静态

  • 我正在尝试将JOOQ与最新版本4.0.0的vertx一起使用。我想通过gradle生成我的DAO和表。以下是我的版本。gradle代码 它取自github链接https://github.com/jklingsporn/vertx-jooq/tree/master/vertx-jooq-classic-jdbc 但是当我运行commmand时/gradlew jooqGenerate要生成代码,它

  • 本文向大家介绍如何根据带账号密码的WSDL地址生成JAVA代码,包括了如何根据带账号密码的WSDL地址生成JAVA代码的使用技巧和注意事项,需要的朋友参考一下  wsdl:   网络服务描述语言bai是Web Service的描述语言,它包含一系列描述某du个web service的定义。   一、组成:zhi   WSDL 文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。  

  • 注: 内容来自官网资料 Java Generated Code 这个页面准确描述 protocol buffer 编译器为任何给定协议定义生成的java代码。proto2和proto3生成的代码之间的任何不同都将被高亮 - 注意在这份文档中描述的是这些生成代码的不同,而不是基本的消息类/接口,后者在两个版本中是相同的。在阅读这份文档之前你应该先阅读 proto2语言指南 和/或 proto3语言指

  • 我正在尝试让cxf-codegen-plugin从我的wsdl文件生成源代码。当调用wsdl2java manual时,生成了所需的类,但当使用mvn generate-sources时,什么也没有发生,我得到的消息是“No goals needed for Project”。直接调用插件没有帮助。

  • 我对jaxb2 maven插件版本2.4有以下配置 但是当我运行时,不会生成任何类。 我能忽略什么? 我已经在这里粘贴了一个wsdl 编辑 由于提到这可能是一个可能的重复,我将插件降级为版本并将配置更改为以下,仍然没有生成类。 完整的pom在这里,因为站点抱怨代码太多 清洗后,它最终可与版本一起使用。为什么版本不起作用?