[ 
https://issues.apache.org/jira/browse/AXIS2-2972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659115#action_12659115
 ] 

Michael Costello commented on AXIS2-2972:
-----------------------------------------

I am currently working on a prototype where I am running into this same problem.
I am trying to create a new ServiceClient within a service. I have also tried 
multiple ways of creating a Configuration Context  from the default Axis Config 
each time getting the same casting exception. I'm running an application with 
an embedded jetty configured with Axis who's Web service config  references 
class files that do physically reside in the Axis Deployment directory. 

Does anyone know of any way to work around this problem until it is resolved? 

Any ideas will be greatly appreciated!

Thanks
Mike

 

> Vague error produced for ServiceClient invocation within a service where 
> class pathing is a problem
> ---------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2972
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2972
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding, deployment
>    Affects Versions: 1.2
>         Environment: Running in windows XP under eclipse and with axis2 1.2 
> embedded under Jetty.
>            Reporter: Jason Kania
>            Assignee: Deepal Jayasinghe
>
> The problem I have seen occurs when a component is not in the deployment 
> directory, but is being referenced externally. Instead of encountering a 
> ClassNotFoundException or similar, a vague error is produced when attempting 
> to:
> 1) create a ServiceClient within a service
> 2) load a configuration context within a service
> The client was external to the jar because it will be used both remotely and 
> as a part of the service. The text of the exception is misleading because the 
> receivers in use as per the services.xml have nothing to do with those seen 
> in the error.
> To create the error, simply attempt to create a new ServiceClient() in a 
> class that is not contained within the deployment directory, but is 
> referenced by a class in the deployment directory.
> The error seen is the following:
> java.lang.ClassCastException: 
> org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver cannot be cast to 
> org.apache.axis2.engine.MessageReceiver
>       at 
> org.apache.axis2.deployment.DescriptionBuilder.loadMessageReceiver(DescriptionBuilder.java:190)
>       at 
> org.apache.axis2.deployment.DescriptionBuilder$1.run(DescriptionBuilder.java:142)
>       at 
> org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:130)
>       at 
> org.apache.axis2.deployment.DescriptionBuilder.processMessageReceivers(DescriptionBuilder.java:138)
>       at 
> org.apache.axis2.deployment.AxisConfigBuilder.populateConfig(AxisConfigBuilder.java:92)
>       at 
> org.apache.axis2.deployment.DeploymentEngine.populateAxisConfiguration(DeploymentEngine.java:640)
>       at 
> org.apache.axis2.deployment.FileSystemConfigurator.getAxisConfiguration(FileSystemConfigurator.java:105)
>       at 
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:60)
>       at 
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:174)
>       at 
> org.apache.axis2.client.ServiceClient.initializeTransports(ServiceClient.java:211)
>       at 
> org.apache.axis2.client.ServiceClient.configureServiceClient(ServiceClient.java:138)
>       at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:133)
>       at org.apache.axis2.client.ServiceClient.<init>(ServiceClient.java:229)
>       at com.test.client.BasicClient.<init>(BasicClient.java:76)
>       at com.test.client.TestClient.<init>(TestClient.java:31)
>       at com.test.client.servlet.TestServer.<init>(TestServer.java:452)
>       at com.test.client.TestServer.getInstance(TestServer.java:65)
>       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 
> com.test.client.ClientMessageHandler.init(ClientMessageHandler.java:51)
>       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.axis2.engine.DependencyManager.initServiceClass(DependencyManager.java:56)
>       at 
> org.apache.axis2.engine.DependencyManager.initService(DependencyManager.java:94)
>       at 
> org.apache.axis2.context.ConfigurationContextFactory.initApplicationScopeServices(ConfigurationContextFactory.java:91)
>       at 
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:76)
>       at 
> org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:486)
>       at 
> org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:406)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:617)
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
>       at 
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
>       at 
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at 
> org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
>       at org.mortbay.jetty.Server.doStart(Server.java:210)
>       at 
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
>       at com.test.TestServer.<init>(TestServer.java:52)
>       at com.test.TestServer.main(TestServer.java:83)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to