https://issues.apache.org/jira/browse/AXIS-2442
James Calfee - A flag is needed to disable overgrown constructor
generation.
I like the idea James Calfee had of a WSDL2Java flag to disable Bean
constructors.
============================================================================
========
The method paramerer limit is 255 - 1 ( this ) and futher reduced if using
long and double parameters.
http://java.sun.com/docs/books/vmspec/2nd-edition/html/ClassFile.doc.html#88
659
The number of method parameters is limited to 255 by the definition of a
method descriptor (ยง4.3.3), where the limit includes one unit for this in
the case of instance or interface method invocations.
Note that a method descriptor is defined in terms of a notion of method
parameter length in which a parameter of type long or double contributes two
units to the length, so parameters of these types further reduce the limit.
============================================================================
========
http://svn.apache.org/viewvc?view=rev&revision=512459
The current fix ( names.size() > 254 ) is just counting the number of
entries in the vector, you need to calculate the number allowed by checking
the type of each parameter.
String, Object, etc .. 1 each
long and double 2 each
Also it look like the names vector is using 2 indexes for each field, one
for the type and one for the variable name
String typeName = (String) names.get(i);
String variable = (String) names.get(i + 1);
http://svn.apache.org/viewvc/webservices/axis/trunk/java/src/org/apache/axis
/wsdl/toJava/JavaBeanWriter.java?view=markup&pathrev=512459
/** Field names */
protected Vector names = new Vector();
/**
* Writes the default constructor.
*/
protected void writeDefaultConstructor() {
// Define the default constructor
pw.println(" public " + className + "() {");
pw.println(" }");
pw.println();
}
/**
* Write a constructor containing the fields in this class.
* Will not write a construtor with more than 254 arguments as
* the Java compiler will choke.
*/
protected void writeMinimalConstructor()
{
if (isUnion() || names.size() == 0 || names.size() > 254)
{
return;
}
pw.println(" public " + className + "(");
for (int i = 0; i < names.size(); i += 2) {
String typeName = (String) names.get(i);
String variable = (String) names.get(i + 1);
pw.print(" " + typeName + " "
+ variable);
if (i >= names.size() - 2) {
pw.println(") {");
} else {
pw.println(",");
}
}
for (int i = 0; i < names.size(); i += 2) {
String variable = (String) names.get(i + 1);
pw.println(" this." + variable + " = " + variable +
";");
if (i >= names.size() - 2) {
break;
}
}
pw.println(" }");
pw.println();
}
============================================================================
========
-----Original Message-----
From: Steve Cohen [mailto:[EMAIL PROTECTED]
Sent: Saturday, 27 September 2008 11:55 PM
To: [email protected]
Subject: Re: Axis 1.4 - a non-supported version?
Thanks.
Bjorn Townsend wrote:
>
> Steve,
>
> Nightly builds have not been performed on this project since Axis 1.4
> was released in 2006. The change Tom describes in that issue was made
> in February 2007. This means that yes, unfortunately the only way to
> get this fix is to build from source at the present time.
>
> I have been working on a final bugfix release version, Axis 1.5 when
> my personal time allows for the last year that will include this fix
> and many others. Since I'm working on this by myself and my job
> doesn't allow me to devote time to open source as it once did,
> progress has been slow, but I'm hoping to be able to propose a release
> of 1.5 during ApacheCon this November.
>
> Meanwhile if you need any assistance in getting Axis to build for you,
> let me know and I'll be happy to help in any way I can.
>
> Regards,
> Bjorn Townsend
>
> On Sep 26, 2008, at 3:14 PM September 26, Steve Cohen wrote:
>
>> The Axis (1) web site has nightly build links that are broken. I
>> would like to get hold of a bug fix that was made over a year ago.
>> (AXIS-2442) Is there no way to get this other than building from source?
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]