You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Er...@wellsfargo.com on 2003/10/23 22:21:21 UTC

request feedback on bug fix plan

I'm looking into fixes for
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24018
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24018>  and would
appreciate some feedback on my proposed fix.

 

The issue is that WSDL2Java's stubs can exceed the limits of the JLS such
that a JVM will throw an Error when the class is loaded.  Briefly, there are
a number of limits that can come up:  64k limit on method size; 64k limit on
constant string pool size per class, etc.

 

The stubs are a problem for large WSDL/schema sets because all of the
binding metadata for a PortType is emitted in a single method.

 

The ideal solution would be to not write binding data in the stubs at all:
the data can be read from WSDD without limits other than available heap.
But, that would entail major changes and so I'm ruling it out.

 

The next thing I thought of is to chunk up the binding metadata so that it
stays within the JLS limits.  Two possibilities:

 

Generate private methods, each of which has a subset of the binding data;

 

Generate static inner classes, each of which has a subset of the binding
data.

 

The latter approach will go further since the former approach solves the 64k
limit on method sizes but not the limit on constant string pool size.  I'm
therefore inclined to patch the stub writer to write out static inner
classes for every, say, 100 types for which binding metadata is needed.

 

This is sufficiently grotesque that I thought I'd better see if anyone had
strenuous objections up front.

 

Thoughts?

 

Eric