You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org> on 2004/10/28 15:01:33 UTC

[jira] Commented: (AXIS-1631) Missing TypeMapping removal when undeploy service

     [ http://issues.apache.org/jira/browse/AXIS-1631?page=comments#action_54740 ]
     
Guillaume Sauthier commented on AXIS-1631:
------------------------------------------

The stackTrace :
2004-10-28 11:34:58,762 : BeanPropertyTarget.set : Could not convert java.lang.Integer to bean field 'areaCode', type int
2004-10-28 11:34:58,795 : AxisServlet.processAxisFault : AxisFault:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.IllegalArgumentException: object is not an instance of declaring class
faultActor:
faultNode:
faultDetail:
     {http://xml.apache.org/axis/}stackTrace: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.utils.BeanPropertyDescriptor.set(BeanPropertyDescriptor.java:117)
     at org.apache.axis.encoding.ser.BeanPropertyTarget.set(BeanPropertyTarget.java:89)
     at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:248)
     at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:511)
     at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1077)
     at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
     at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:845)
     at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:371)
     at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1038)
     at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
     at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:845)
     at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:371)
     at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:130)
     at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1038)
     at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:159)
     at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:845)
     at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:198)
     at org.apache.axis.message.RPCElement.getParams(RPCElement.java:323)
     at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:146)
     at bpel.engine.BPELProvider.processMessage(BPELProvider.java:109)
     at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
     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:455)
     at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
     at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:637)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
     at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
     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.catalina.security.SecurityUtil$1.run(SecurityUtil.java:239)
     at java.security.AccessController.doPrivileged(Native Method)
     at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
     at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
     at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:157)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
     at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
     at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:140)
     at java.security.AccessController.doPrivileged(Native Method)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:136)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
     at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
     at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
     at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
     at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
     at java.lang.Thread.run(Thread.java:534)


> Missing TypeMapping removal when undeploy service
> -------------------------------------------------
>
>          Key: AXIS-1631
>          URL: http://issues.apache.org/jira/browse/AXIS-1631
>      Project: Axis
>         Type: Bug
>   Components: Deployment / Registries
>     Versions: 1.2RC2
>  Environment: Debian Linux, Java 1.4.2_05, JOnAS 4.2.0
>     Reporter: Guillaume Sauthier

>
> I saw in axis sources that when we deploy a service, there are several things done. One of them is to register type mapping.
> When a service a undeployed, reverse things as done except unregistering type mapping.
> The scenario is the following :
> I create a ClassLoader for each service I deploy (contains the Bean A class), so deploying a service for the first will create a new ClassLoader (say CL_1), Axis Admin class will merge my deploy.wsdd into the registry and load my described Beans (say A loaded from CL_1).
> But if I undeploy the service, TypeMapping is not changed, not removed (we're stuck with Bean A from CL1).
> To finish, I redeploy the same service (creating a new ClassLoader (CL_B)), but TypeMapping for the service is not changed (Bean A from CL_1). And the following error comes when I call the deployed service, while deserializing Bean A : DeserializerImpl has created the right object instance (Bean A from CL_2) but the setter/getter method invoked come from Bean A from CL_1 !!! And thus, that causes the following IllegalArgumentException !!!

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira