[ http://issues.apache.org/jira/browse/GERONIMO-650?page=all ]

David Blevins reassigned GERONIMO-650:
--------------------------------------

    Assign To: David Blevins

> POJO ws should not need to implement SEI
> ----------------------------------------
>
>          Key: GERONIMO-650
>          URL: http://issues.apache.org/jira/browse/GERONIMO-650
>      Project: Geronimo
>         Type: Bug
>   Components: webservices
>     Versions: 1.0-M3
>     Reporter: David Jencks
>     Assignee: David Blevins
>      Fix For: 1.0-M4

>
> I have not investigated the code but based on the following stack trace I 
> doubt we are correctly implementing ewebsvcs-1_1-mr-spec section 5.3.2.2:
> The Service Implementation Bean may implement the Service Endpoint Interface 
> as defined by the  JAX-RPC Servlet model. The bean must implement all the 
> method signatures of the SEI. In addition,  a Service Implementation Bean may 
> be implemented that does not implement the SEI. This  additional requirement 
> provides the same SEI implementation flexibility as provided by EJB service  
> endpoints. The business methods of the bean must be public and must not be 
> static. If the Service  Implementation Bean does not implement the SEI, the 
> business methods must not be final. The  Service Implementation Bean may 
> implement other methods in addition to those defined by the SEI,  but only 
> the SEI methods are exposed to the client.  
> The app has a POJO implementing the same methods as but not extending the SEI.
> stacktrace:
> 12:01:28,427 INFO  [RPCProvider] Tried to invoke method public abstract 
> java.lang.String foo.FooWs.foo(java.lang.String) throws 
> java.rmi.RemoteException with arguments java.lang.String.  The arguments do 
> not match the signature.
> java.lang.IllegalArgumentException: object is not an instance of declaring 
> class
>         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:324)
>         at 
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:388)
>         at 
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:283)
>         at 
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
>         at 
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>         at 
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
>         at 
> org.apache.geronimo.axis.server.AxisWebServiceContainer.invoke(AxisWebServiceContainer.java:126)
>         at 
> org.apache.geronimo.webservices.WebServiceContainerInvoker.service(WebServiceContainerInvoker.java:78)
>         at 
> org.apache.geronimo.webservices.POJOWebServiceServlet.service(POJOWebServiceServlet.java:79)
>         at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
>         at 
> org.apache.geronimo.jetty.JettyPOJOWebServiceHolder.handle(JettyPOJOWebServiceHolder.java:105)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:832)
>         at 
> org.mortbay.jetty.servlet.JSR154Filter.doFilter(JSR154Filter.java:171)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:823)
>         at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:473)
>         at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1565)
>         at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:623)
>         at org.mortbay.http.HttpContext.handle(HttpContext.java:1517)
>         at org.mortbay.http.HttpServer.service(HttpServer.java:954)
>         at org.mortbay.http.HttpConnection.service(HttpConnection.java:814)
>         at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981)
>         at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831)
>         at 
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
>         at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>         at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to