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 bu...@apache.org on 2003/11/20 23:57:44 UTC

DO NOT REPLY [Bug 24872] New: - cannot overload methods using a Type and an array of a Type

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24872>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24872

cannot overload methods using a Type and an array of a Type

           Summary: cannot overload methods using a Type and an array of a
                    Type
           Product: Axis
           Version: 1.1
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Basic Architecture
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: dabramovich@sonusnet.com


I'm seeing a problem with Axis (Axis version 1.1, with JBoss 3.0.7/JBossWeb 
servlet engine, Java 1.4.2) when I try to have two methods on an interface of 
the same name, same number of arguments, but in one method the argument is some 
type and the other method is an array of the same type. The result is some 
ugliness of the form:

Fault - ; nested exception is: 
	org.apache.axis.InternalException: java.lang.Exception: The OperationDesc 
for doSomething was not synchronized to a method of test.FooSoapBindingSkeleton.

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.apache.axis.InternalException: java.lang.Exception: The 
OperationDesc for doSomething was not synchronized to a method of test.
FooSoapBindingSkeleton.
 faultActor: 
 faultNode: 
 faultDetail: 

You can reproduce this pretty readily by running java2wsdl then wsdl2java on the 
simple classes below and then just using the admin tool to deploy it. I did use 
skeletons when generating the code.

=========================

A simple interface:
package test;

public interface FooService {

    Integer doSomething( Foo[] argument );
    Integer doSomething( Foo argument );
}
--------


A simple class:
---------
package test;

public class Foo {

    static int num = 0;

    public String data = null;
    
    public Foo() {
        data = new Integer( num++ ).toString();
    }
}