You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Florian Schaetz <fl...@optitool.de> on 2010/06/02 12:04:01 UTC

WebService - AxisFault - Wrong number of Arguments

Hello,

after having some problems with a more complicated WebService, I've 
written a simple testing WebService, which has one method, that takes a 
String and gives back a Result-Object (containing only a status int, 
which is zero).

After using wsgen to create the WSDL file and the jaxws classes I 
deployed the WebService to my (freshly downloaded) Geronimo 2.2 (with 
Tomcat) which shows no errors (the Webservice gets started and can be 
accessed via a browser, giving the "Hello, this is the..." message).

But as soon as I try to access it with a java client (created from the 
online WSDL per wsimport), I get the following exception (I put both 
whole stacktraces, client and server, at the end of this mail):

java.lang.IllegalArgumentException: wrong number of arguments

_But_ the important thing is: When I deploy the exact same .jar in my 
older Geronimo 2.1.4, the exact same client works perfectly fine, 
returning a Result-Objekt (with the mentioned zero int).

Has anyone an idea what the reason could be?

Regards,

Flo

The exception is:

xception in thread "main" javax.xml.ws.soap.SOAPFaultException: 
java.rmi.RemoteException: The bean encountered a non-application 
exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments: The bean 
encountered a non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments
	at 
com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
	at 
com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:119)
	at 
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
	at 
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
	at $Proxy29.geoCode(Unknown Source)
	at de.optitool.optengine.geocode.Client.main(Client.java:14)

In the geronimo.log file, the exception looks a little bit longer:

2010-06-02 11:43:59,561 ERROR [AxisEngine] java.rmi.RemoteException: The 
bean encountered a non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments: The bean 
encountered a non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments
org.apache.axis2.AxisFault: java.rmi.RemoteException: The bean 
encountered a non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments: The bean 
encountered a non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
	at 
org.apache.geronimo.axis2.ejb.EJBMessageReceiver.receive(EJBMessageReceiver.java:105)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
	at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
	at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.processXMLRequest(Axis2WebServiceContainer.java:437)
	at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.processPOSTRequest(Axis2WebServiceContainer.java:386)
	at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:308)
	at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:243)
	at 
org.apache.geronimo.axis2.Axis2WebServiceContainer.invoke(Axis2WebServiceContainer.java:201)
	at 
org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.handle(TomcatEJBWebServiceContext.java:111)
	at 
org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:81)
	at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
	at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:361)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at 
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.openejb.InvalidateReferenceException: 
java.rmi.RemoteException: The bean encountered a non-application 
exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments: The bean 
encountered a non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments
	at 
org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:153)
	at 
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:233)
	at 
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174)
	at 
org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:136)
	at 
org.apache.geronimo.axis2.ejb.EJBMessageReceiver.receive(EJBMessageReceiver.java:99)
	... 22 more
Caused by: java.rmi.RemoteException: The bean encountered a 
non-application exception; nested exception is:
	java.lang.IllegalArgumentException: wrong number of arguments
	at 
org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:152)
	... 26 more
Caused by: java.lang.IllegalArgumentException: wrong number of arguments
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
	at 
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
	at 
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122)
	at 
org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221)
	... 25 more

Re: WebService - AxisFault - Wrong number of Arguments

Posted by Florian Schaetz <fl...@optitool.de>.
Hello Ivan,

> Some changes have been committed to 2.2-branch in r952898, you could
> download the snapshot build if want to try it.

I've tried to download the latest snapshot, but as I can't even start 
this version of the server (probably related to the fact, that there 
have been - non-crc - errors when decompressing the archive, like "path 
not found" or "filename to long"), I'll simply have wait for the 
official 2.2.1 release :-)

Flo

Re: WebService - AxisFault - Wrong number of Arguments

Posted by Ivan <xh...@gmail.com>.
Some changes have been committed to 2.2-branch in r952898, you could
download the snapshot build if want to try it.

2010/6/9 Florian Schaetz <fl...@optitool.de>

> Hi Ivan,
>
>
>  Just try the attached example, seems that Geronimo ( or OpenEJB)
>> does not process the web service request correctly, will fix it in the
>> incoming Geronimo 2.2.1.
>> Thanks for reporting this !
>>
>
> Thanks in advance for fixing this :-)
>
> Flo
>



-- 
Ivan

Re: WebService - AxisFault - Wrong number of Arguments

Posted by Florian Schaetz <fl...@optitool.de>.
Hi Ivan,

> Just try the attached example, seems that Geronimo ( or OpenEJB)
> does not process the web service request correctly, will fix it in the
> incoming Geronimo 2.2.1.
> Thanks for reporting this !

Thanks in advance for fixing this :-)

Flo

Re: WebService - AxisFault - Wrong number of Arguments

Posted by Ivan <xh...@gmail.com>.
Hi, Florian:
    Just try the attached example, seems that Geronimo ( or OpenEJB) does
not process the web service request correctly, will fix it in the incoming
Geronimo 2.2.1.
    Thanks for reporting this !

2010/6/4 Florian Schaetz <fl...@optitool.de>

> Hello,
>
>
>  Seems that you are exposing the EJB as web service, so could you attach
>> the simple testing web service example ?
>>
>
> Of course. I've attached the interface, the implementation and the
> openejb-jar.xml. The MyService class already contains the WSDL-Location
> (which was just generated with wsgen, so I didn't attach it).
>
> If you need the wsdl (and jaxws) files as well, I've uploaded the whole
> thing as an archive:
> http://home.arcor.de/irian/WebServiceTest.rar
>
> Thanks,
>
> Flo
>



-- 
Ivan

Re: WebService - AxisFault - Wrong number of Arguments

Posted by Florian Schaetz <fl...@optitool.de>.
Hello,

> Seems that you are exposing the EJB as web service, so could you attach
> the simple testing web service example ?

Of course. I've attached the interface, the implementation and the 
openejb-jar.xml. The MyService class already contains the WSDL-Location 
(which was just generated with wsgen, so I didn't attach it).

If you need the wsdl (and jaxws) files as well, I've uploaded the whole 
thing as an archive:
http://home.arcor.de/irian/WebServiceTest.rar

Thanks,

Flo

Re: WebService - AxisFault - Wrong number of Arguments

Posted by Ivan <xh...@gmail.com>.
Seems that you are exposing the EJB as web service, so could you attach the
simple testing web service example ?

2010/6/2 Florian Schaetz <fl...@optitool.de>

> Hello,
>
> after having some problems with a more complicated WebService, I've written
> a simple testing WebService, which has one method, that takes a String and
> gives back a Result-Object (containing only a status int, which is zero).
>
> After using wsgen to create the WSDL file and the jaxws classes I deployed
> the WebService to my (freshly downloaded) Geronimo 2.2 (with Tomcat) which
> shows no errors (the Webservice gets started and can be accessed via a
> browser, giving the "Hello, this is the..." message).
>
> But as soon as I try to access it with a java client (created from the
> online WSDL per wsimport), I get the following exception (I put both whole
> stacktraces, client and server, at the end of this mail):
>
> java.lang.IllegalArgumentException: wrong number of arguments
>
> _But_ the important thing is: When I deploy the exact same .jar in my older
> Geronimo 2.1.4, the exact same client works perfectly fine, returning a
> Result-Objekt (with the mentioned zero int).
>
> Has anyone an idea what the reason could be?
>
> Regards,
>
> Flo
>
> The exception is:
>
> xception in thread "main" javax.xml.ws.soap.SOAPFaultException:
> java.rmi.RemoteException: The bean encountered a non-application exception;
> nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments: The
> bean encountered a non-application exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments
>        at
> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
>        at
> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:119)
>        at
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
>        at
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
>        at
> com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
>        at $Proxy29.geoCode(Unknown Source)
>        at de.optitool.optengine.geocode.Client.main(Client.java:14)
>
> In the geronimo.log file, the exception looks a little bit longer:
>
> 2010-06-02 11:43:59,561 ERROR [AxisEngine] java.rmi.RemoteException: The
> bean encountered a non-application exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments: The
> bean encountered a non-application exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments
> org.apache.axis2.AxisFault: java.rmi.RemoteException: The bean encountered
> a non-application exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments: The
> bean encountered a non-application exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments
>        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
>        at
> org.apache.geronimo.axis2.ejb.EJBMessageReceiver.receive(EJBMessageReceiver.java:105)
>        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:173)
>        at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:167)
>        at
> org.apache.geronimo.axis2.Axis2WebServiceContainer.processXMLRequest(Axis2WebServiceContainer.java:437)
>        at
> org.apache.geronimo.axis2.Axis2WebServiceContainer.processPOSTRequest(Axis2WebServiceContainer.java:386)
>        at
> org.apache.geronimo.axis2.Axis2WebServiceContainer.doService2(Axis2WebServiceContainer.java:308)
>        at
> org.apache.geronimo.axis2.Axis2WebServiceContainer.doService(Axis2WebServiceContainer.java:243)
>        at
> org.apache.geronimo.axis2.Axis2WebServiceContainer.invoke(Axis2WebServiceContainer.java:201)
>        at
> org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.handle(TomcatEJBWebServiceContext.java:111)
>        at
> org.apache.geronimo.tomcat.TomcatEJBWebServiceContext$EJBWebServiceValve.invoke(TomcatEJBWebServiceContext.java:81)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>        at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:361)
>        at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>        at
> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>        at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.openejb.InvalidateReferenceException:
> java.rmi.RemoteException: The bean encountered a non-application exception;
> nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments: The
> bean encountered a non-application exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments
>        at
> org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:153)
>        at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:233)
>        at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:174)
>        at
> org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:136)
>        at
> org.apache.geronimo.axis2.ejb.EJBMessageReceiver.receive(EJBMessageReceiver.java:99)
>        ... 22 more
> Caused by: java.rmi.RemoteException: The bean encountered a non-application
> exception; nested exception is:
>        java.lang.IllegalArgumentException: wrong number of arguments
>        at
> org.apache.openejb.core.transaction.EjbTransactionUtil.handleSystemException(EjbTransactionUtil.java:152)
>        ... 26 more
> Caused by: java.lang.IllegalArgumentException: wrong number of arguments
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
>        at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
>        at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:122)
>        at
> org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:221)
>        ... 25 more
>



-- 
Ivan