You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alan Beck <jb...@gmail.com> on 2011/10/13 15:12:46 UTC

[Axis2] Generated code results in javac error "code too large"

Hi Folks,

Hopefully someone will have come across this before. I am generating java
code from a large WSDL, the WSDL design is outside of my control, I am a
consumer of this WSDL and am thus generating client side code.

The generation using WSDL2JAVA succeeds, however, the generated source will
not compile due method length errors in both the following methods of the
main "APIServiceStub" class

- populateFaults
- fromOM

Eclipse reports the issue as

- "The code of method fromOM(OMElement, Class, Map) is exceeding the 65535
bytes limit"

The error itself from the command line is as so (apologies for blanking out
the package/class names):

    [javac] C:\Work\Eclipse\workspace\....xxx.java:10432: code too large
    [javac]     private void populateFaults(){
    [javac]                  ^
    [javac] C:\Work\Eclipse\workspace\....xxx.java:212725: code too large
for try statement
    [javac]         }catch(java.lang.Exception e){
    [javac]          ^
    [javac] C:\Work\Eclipse\workspace\....xxx.java:179036: code too large
    [javac]         public org.apache.xmlbeans.XmlObject fromOM(
    [javac]                                              ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 3 errors

Many thanks for any assistance,
Alan.

Re: [Axis2] Generated code results in javac error "code too large"

Posted by Alan Beck <jb...@gmail.com>.
Thanks for your suggestion Nandeesh. However, the issue is with javac having
a limit on method size (64kB) so is not Eclipse specific. The issue is that
WSDL2JAVA does not seem to take the method length into consideration when
generating code.  In this regard I guess it is a bug, or arguably a feature
not yet present ;-)

Unless anyone has any known workarounds or unofficial patches available, I
shall submit an issue to Axis2-JIRA possibly?

Thanks Again,
Alan.

On Thu, Oct 13, 2011 at 2:26 PM, Nandeesh Kaggere <nk...@camsbycbs.com>wrote:

> **
>
> See if this helps. I too have come across larger stubs and eclipse had
> trouble opening them and I remember getting out of space error. Some times
> it may help to open it a text editor outside Eclipse.****
>
> Check out the following link to increase heap size****
>
>
> http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse%3F
> ****
>
> ** **
>
> -Nandeesh****
>
> ** **
>
> ** **
>  ------------------------------
>
> *From:* Alan Beck [mailto:jb.alanbeck@gmail.com]
> *Sent:* Thursday, October 13, 2011 9:13 AM
> *To:* **java-user@axis.apache.org**
> *Subject:* [Axis2] Generated code results in javac error "code too large"*
> ***
>
> ** **
>
> Hi Folks,****
>
> ** **
>
> Hopefully someone will have come across this before. I am generating java
> code from a large WSDL, the WSDL design is outside of my control, I am a
> consumer of this WSDL and am thus generating client side code.****
>
> ** **
>
> The generation using WSDL2JAVA succeeds, however, the generated source will
> not compile due method length errors in both the following methods of the
> main "APIServiceStub" class****
>
> ** **
>
> - populateFaults****
>
> - fromOM****
>
> ** **
>
> Eclipse reports the issue as ****
>
> ** **
>
> - "The code of method fromOM(OMElement, Class, Map) is exceeding the 65535
> bytes limit"****
>
> ** **
>
> The error itself from the command line is as so (apologies for blanking out
> the package/class names):****
>
> ** **
>
>     [javac] C:\Work\Eclipse\workspace\....xxx.java:10432: code too large**
> **
>
>     [javac]     private void populateFaults(){****
>
>     [javac]                  ^****
>
>     [javac] C:\Work\Eclipse\workspace\....xxx.java:212725: code too large
> for try statement****
>
>     [javac]         }catch(java.lang.Exception e){****
>
>     [javac]          ^****
>
>     [javac] C:\Work\Eclipse\workspace\....xxx.java:179036: code too large*
> ***
>
>     [javac]         public org.apache.xmlbeans.XmlObject fromOM(****
>
>     [javac]                                              ^****
>
>     [javac] Note: Some input files use or override a deprecated API.****
>
>     [javac] Note: Some input files use or override a deprecated API.****
>
>     [javac] Note: Recompile with -Xlint:deprecation for details.****
>
>     [javac] Note: Some input files use unchecked or unsafe operations.****
>
>     [javac] Note: Recompile with -Xlint:unchecked for details.****
>
>     [javac] 3 errors****
>
> ** **
>
> Many thanks for any assistance,****
>
> Alan.****
>

RE: [Axis2] Generated code results in javac error "code too large"

Posted by Nandeesh Kaggere <nk...@camsbycbs.com>.
See if this helps. I too have come across larger stubs and eclipse had
trouble opening them and I remember getting out of space error. Some times
it may help to open it a text editor outside Eclipse.

Check out the following link to increase heap size

http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Ecl
ipse%3F

 

-Nandeesh

 

 

  _____  

From: Alan Beck [mailto:jb.alanbeck@gmail.com] 
Sent: Thursday, October 13, 2011 9:13 AM
To: java-user@axis.apache.org
Subject: [Axis2] Generated code results in javac error "code too large"

 

Hi Folks,

 

Hopefully someone will have come across this before. I am generating java
code from a large WSDL, the WSDL design is outside of my control, I am a
consumer of this WSDL and am thus generating client side code.

 

The generation using WSDL2JAVA succeeds, however, the generated source will
not compile due method length errors in both the following methods of the
main "APIServiceStub" class

 

- populateFaults

- fromOM

 

Eclipse reports the issue as 

 

- "The code of method fromOM(OMElement, Class, Map) is exceeding the 65535
bytes limit"

 

The error itself from the command line is as so (apologies for blanking out
the package/class names):

 

    [javac] C:\Work\Eclipse\workspace\....xxx.java:10432: code too large

    [javac]     private void populateFaults(){

    [javac]                  ^

    [javac] C:\Work\Eclipse\workspace\....xxx.java:212725: code too large
for try statement

    [javac]         }catch(java.lang.Exception e){

    [javac]          ^

    [javac] C:\Work\Eclipse\workspace\....xxx.java:179036: code too large

    [javac]         public org.apache.xmlbeans.XmlObject fromOM(

    [javac]                                              ^

    [javac] Note: Some input files use or override a deprecated API.

    [javac] Note: Some input files use or override a deprecated API.

    [javac] Note: Recompile with -Xlint:deprecation for details.

    [javac] Note: Some input files use unchecked or unsafe operations.

    [javac] Note: Recompile with -Xlint:unchecked for details.

    [javac] 3 errors

 

Many thanks for any assistance,

Alan.