users@glassfish.java.net

JAXRPC ClassCastException when deploing as EAR (but works for WAR deploy)

From: <glassfish_at_javadesktop.org>
Date: Tue, 06 Nov 2007 11:43:59 PST

I have following problem when deploying web application with JAX-RPC web services as a part of EAR archive. ClassCastException occurs when invoking any deployed web service. However when deploying web application as a standalone WAR everything works fine. This strange behavior occurs only when [i]<class-loader delegate="false"/>[/i] is set in [i]sun-web.xml[/i].

Well, it seems that in this configuration there are different class loaders for SOAP serializers/deserializers and application logic.

Does anyone have the same problem? Is there some workaround besides setting delegate parameter to true?

Here is my stack trace:

JAXRPC.TIE.04: Internal Server Error (JAXRPCTIE01: caught exception while handling request: java.lang.ClassCastException: sample.HelloServiceImpl cannot be cast to sample.HelloServiceSEI)
        at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:187)
        at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:108)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:254)
        at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:224)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:117)
        at $Proxy30.hello(Unknown Source)
[Message sent by forum member 'galet' (galet)]

http://forums.java.net/jive/thread.jspa?messageID=244135