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

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Development mailing list
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


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 | Threaded
Open this post in threaded view
|

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

Development mailing list
     [ 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 | Threaded
Open this post in threaded view
|

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

Development mailing list
In reply to this post by Development mailing list
     [ 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