You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "David Blevins (JIRA)" <de...@geronimo.apache.org> on 2005/06/01 00:00:14 UTC

[jira] Closed: (GERONIMO-650) POJO ws should not need to implement SEI

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

     Resolution: Fixed
    Fix Version: 1.0-M4

> 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