Axis2
  1. Axis2
  2. AXIS2-5079

1.5.5 does not allow exploded services to be dropped in services directory

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 1.5.5
    • Fix Version/s: 1.5.6
    • Component/s: deployment
    • Labels:
      None
    • Environment:
      windows tomcat 7

      Description

      Dropped 1.5.5 WAR file in tomcat webapp directory.

      Everything looks good. Then I deleted the version aar file shipped, and it gets undeployed. I ended the tomcat server and restarted the server. Then I exploaded the version aar file, and then moved the directory to the axis2 services directory. I click on the list webservices link and I get:

      Available services
      Faulty Services
      C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\axis2-1.5.5\WEB-INF\services\version

      In the tomcat stdout log file, I see the following:

      INFO] Deploying module: jaxws-1.5.5 - file:/C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/axis2-1.5.5/WEB-INF/modules/axis2-jaxws-mar-1.5.5.mar
      [INFO] Deploying module: metadataExchange-1.5.5 - file:/C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/axis2-1.5.5/WEB-INF/modules/mex-1.5.5.mar
      [INFO] Deploying module: mtompolicy-1.5.5 - file:/C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/axis2-1.5.5/WEB-INF/modules/mtompolicy-1.5.5.mar
      [INFO] Deploying module: ping-1.5.5 - file:/C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/axis2-1.5.5/WEB-INF/modules/ping-1.5.5.mar
      [INFO] Deploying module: script-1.5.5 - file:/C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/axis2-1.5.5/WEB-INF/modules/scripting-1.5.5.mar
      [INFO] Deploying module: soapmonitor-1.5.5 - file:/C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps/axis2-1.5.5/WEB-INF/modules/soapmonitor-1.5.5.mar
      [INFO] The version service, which is not valid, caused java.lang.ClassCastException: org.apache.axis2.classloader.JarFileClassLoader incompatible with org.apache.axis2.deployment.DeploymentClassLoader
      at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:131)
      at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101)
      at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)
      at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:82)
      at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
      at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:661)
      at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
      at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:337)
      at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:241)
      at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:331)
      at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:64)
      at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:71)
      at org.apache.axis2.deployment.scheduler.Scheduler$SchedulerTimerTask.run(Scheduler.java:90)
      at java.util.Timer$TimerImpl.run(Timer.java:291)

      [INFO] org.apache.axis2.deployment.DeploymentException: org.apache.axis2.classloader.JarFileClassLoader incompatible with org.apache.axis2.deployment.DeploymentClassLoader

      This works using Axis 1.5.4. The only major differences between the 1.5.4 source and the 1.5.5 source is the addition of code relating to:

      <parameter name="EnableChildFirstClassLoading">false</parameter>

      which seems to affect lots of the files relating to deployment.

        Activity

        Hide
        nadir amra added a comment -

        Andreas, I tested using the https://repository.apache.org/content/groups/snapshots/org/apache/axis2/axis2/1.5.6-SNAPSHOT/axis2-1.5.6-20110626.003901-5.jar (i replaced the axis2-kernel-1.5.5 jar file with this), and things seem to now work. Note that the JAR file seems to be more than 2X larger than the 1.5.5 jar file.

        The only thing now that I see is flakiness described in JIRA https://issues.apache.org/jira/browse/AXIS2-4541 which I am trying to hunt down. The problems described in the JIRA does not appear to happen in Axis2 1.6. If you have any ideas where the fix is, it would be greatly appreciated.

        Show
        nadir amra added a comment - Andreas, I tested using the https://repository.apache.org/content/groups/snapshots/org/apache/axis2/axis2/1.5.6-SNAPSHOT/axis2-1.5.6-20110626.003901-5.jar (i replaced the axis2-kernel-1.5.5 jar file with this), and things seem to now work. Note that the JAR file seems to be more than 2X larger than the 1.5.5 jar file. The only thing now that I see is flakiness described in JIRA https://issues.apache.org/jira/browse/AXIS2-4541 which I am trying to hunt down. The problems described in the JIRA does not appear to happen in Axis2 1.6. If you have any ideas where the fix is, it would be greatly appreciated.
        Hide
        Andreas Veithen added a comment -

        Can you test with 1.5.6-SNAPSHOT? Thanks.

        Show
        Andreas Veithen added a comment - Can you test with 1.5.6-SNAPSHOT? Thanks.
        Hide
        nadir amra added a comment -

        I see some code merged into the 1_5 branch....are we going to release a new 1.5.x release? Not that it matter to me.

        The other question is whether I should close this issue?

        Show
        nadir amra added a comment - I see some code merged into the 1_5 branch....are we going to release a new 1.5.x release? Not that it matter to me. The other question is whether I should close this issue?
        Hide
        nadir amra added a comment -

        I verified that this works in 1.6.

        Show
        nadir amra added a comment - I verified that this works in 1.6.
        Hide
        Hudson added a comment -

        Integrated in axis2-1.5 #151 (See https://builds.apache.org/job/axis2-1.5/151/)
        AXIS2-5079: Merged r1064552 to the 1.5 branch.

        veithen :
        Files :

        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/pom.xml
        • /axis/axis2/java/core/branches/1_5/modules/transport/http/pom.xml
        • /axis/axis2/java/core/branches/1_5/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java
        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/src/main/java/org/apache/axis2/handlers
        • /axis/axis2/java/core/branches/1_5
        • /axis/axis2/java/core/branches/1_5/modules/saaj/test/org/apache/axis2/saaj/TestUtils.java
        • /axis/axis2/java/core/branches/1_5/modules/kernel/src/org/apache/axis2/transport/http/util/QueryStringParser.java
        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/src/main/resources/META-INF/module.xml
        • /axis/axis2/java/core/branches/1_5/modules/kernel/test/org/apache/axis2/transport/http/util/QueryStringParserTest.java
        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet
        • /axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin
        • /axis/axis2/java/core/branches/1_5/modules/transport/http/src
        • /axis/axis2/java/core/branches/1_5/modules/distribution
        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/applet
        • /axis/axis2/java/core/branches/1_5/modules/transport/local
        • /axis/axis2/java/core/branches/1_5/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java
        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet
        • /axis/axis2/java/core/branches/1_5/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminAgent.java
        • /axis/axis2/java/core/branches/1_5/modules/parent
        • /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module
        Show
        Hudson added a comment - Integrated in axis2-1.5 #151 (See https://builds.apache.org/job/axis2-1.5/151/ ) AXIS2-5079 : Merged r1064552 to the 1.5 branch. veithen : Files : /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/pom.xml /axis/axis2/java/core/branches/1_5/modules/transport/http/pom.xml /axis/axis2/java/core/branches/1_5/modules/kernel/src/org/apache/axis2/deployment/ServiceBuilder.java /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/src/main/java/org/apache/axis2/handlers /axis/axis2/java/core/branches/1_5 /axis/axis2/java/core/branches/1_5/modules/saaj/test/org/apache/axis2/saaj/TestUtils.java /axis/axis2/java/core/branches/1_5/modules/kernel/src/org/apache/axis2/transport/http/util/QueryStringParser.java /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module/src/main/resources/META-INF/module.xml /axis/axis2/java/core/branches/1_5/modules/kernel/test/org/apache/axis2/transport/http/util/QueryStringParserTest.java /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/servlet /axis/axis2/java/core/branches/1_5/modules/tool/axis2-repo-maven-plugin /axis/axis2/java/core/branches/1_5/modules/transport/http/src /axis/axis2/java/core/branches/1_5/modules/distribution /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet/src/main/java/org/apache/axis2/soapmonitor/applet /axis/axis2/java/core/branches/1_5/modules/transport/local /axis/axis2/java/core/branches/1_5/modules/webapp/src/main/java/org/apache/axis2/webapp/AxisAdminServlet.java /axis/axis2/java/core/branches/1_5/modules/soapmonitor/servlet /axis/axis2/java/core/branches/1_5/modules/webapp/src/main/java/org/apache/axis2/webapp/AdminAgent.java /axis/axis2/java/core/branches/1_5/modules/parent /axis/axis2/java/core/branches/1_5/modules/soapmonitor/module
        Hide
        Andreas Veithen added a comment -

        I think that the issue is that the change in r1064552 (which is a fix to the parent-last class loading stuff) is missing on the 1.5 branch. However, this change was included in 1.6.0. Looking at the code, I think it's impossible to get the ClassCastException with 1.6.0. Are you sure that you are using the official release and not one of the earlier release candidates?

        Show
        Andreas Veithen added a comment - I think that the issue is that the change in r1064552 (which is a fix to the parent-last class loading stuff) is missing on the 1.5 branch. However, this change was included in 1.6.0. Looking at the code, I think it's impossible to get the ClassCastException with 1.6.0. Are you sure that you are using the official release and not one of the earlier release candidates?
        Hide
        Sagara Gunathunga added a comment -

        What I usually do is drop axis2.war file into webapps directory and once it deployed stop the server and delete axis2.war file so that exploded Axis2 directory remains in the wapapps directory BTW I don't see any issue with your approach if you extract axis2.war correctly.

        I haven't test this for 1.5.5 but just tested for 1.6.0 version on both Linux and windows also for Tomcat 6 and 7 but didn't encounter any such issue. please see my log entries below. Can you try with Axis2 1.6.0 version , my guess is this is something related to your configuration.

        [INFO] Deploying Web service: StockQuoteService - file:/opt/dev/servers/apache-tomcat-7.0.16/webapps/axis2/WEB-INF/services/StockQuoteService/
        [INFO] Deploying Web service: StockQuoteService - file:/opt/dev/servers/apache-tomcat-6.0.32/webapps/axis2/WEB-INF/services/StockQuoteService/

        [INFO] Deploying Web service: StockQuoteService - file:/C:/dev/servers/apache-tomcat-6.0.32/webapps/axis2/WEB-INF/services/StockQuoteService/
        [INFO] Deploying Web service: StockQuoteService - file:/C:/dev/servers/apache-tomcat-7.0.16/webapps/axis2/WEB-INF/services/StockQuoteService/

        Show
        Sagara Gunathunga added a comment - What I usually do is drop axis2.war file into webapps directory and once it deployed stop the server and delete axis2.war file so that exploded Axis2 directory remains in the wapapps directory BTW I don't see any issue with your approach if you extract axis2.war correctly. I haven't test this for 1.5.5 but just tested for 1.6.0 version on both Linux and windows also for Tomcat 6 and 7 but didn't encounter any such issue. please see my log entries below. Can you try with Axis2 1.6.0 version , my guess is this is something related to your configuration. [INFO] Deploying Web service: StockQuoteService - file:/opt/dev/servers/apache-tomcat-7.0.16/webapps/axis2/WEB-INF/services/StockQuoteService/ [INFO] Deploying Web service: StockQuoteService - file:/opt/dev/servers/apache-tomcat-6.0.32/webapps/axis2/WEB-INF/services/StockQuoteService/ [INFO] Deploying Web service: StockQuoteService - file:/C:/dev/servers/apache-tomcat-6.0.32/webapps/axis2/WEB-INF/services/StockQuoteService/ [INFO] Deploying Web service: StockQuoteService - file:/C:/dev/servers/apache-tomcat-7.0.16/webapps/axis2/WEB-INF/services/StockQuoteService/

          People

          • Assignee:
            Andreas Veithen
            Reporter:
            nadir amra
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development