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();
}
}