SOAP weirdness on 3.0.0
ftg314159 Dec 8, 2001 5:37 PMI'm awfully confused.
I captured a CVS image of 3.0.0 on November 19 and built a system which I incorporated into a J2EE testbed environment for my developers. At that time, one of the tests I did was to copy the soap-2.2 soap.war to the deploy directory, bring up JBoss, and verify that I could get to the servlet and get the "I don't support GET, use POST" error. I tried this under Win98 and the IBM 1.3 JDK and Linux under Sun 1.3.1_01. It worked fine.
One of my developers tried this under Win98 with the Sun 1.3.1_01 JDK, and got an exception thrown:
==============================================
[2001-12-08 17:03:46,138,AutoDeployer,INFO] Auto deploy of file:/C:/jboss-3.0.0alpha/deploy/soap.war
[2001-12-08 17:03:46,138,J2eeDeployer#Default,INFO] Deploy J2EE application: file:/C:/jboss-3.0.0alpha/deploy/soap.war
[2001-12-08 17:03:46,218,J2eeDeployer#Default,INFO] Create application soap.war
[2001-12-08 17:03:46,218,J2eeDeployer#Default,INFO] inflate and install WEB module soap.war
[2001-12-08 17:03:47,760,ContainerFactory,INFO] Deploying:file:/C:/jboss-3.0.0alpha/deploy/Default/soap.war
[2001-12-08 17:03:47,790,ContainerFactory,INFO] Deployed application: file:/C:/jboss-3.0.0alpha/deploy/Default/soap.war
[2001-12-08 17:03:47,790,J2eeDeployer#Default,INFO] Starting module soap.war
[2001-12-08 17:03:48,000,Default,INFO] Did not find the UCL resource org/mortbay/http/mime_en.properties
[2001-12-08 17:03:48,090,Default,INFO] Did not find the UCL resource org/mortbay/http/mime_en_US.properties
[2001-12-08 17:03:48,251,Default,INFO] Did not find the UCL resource org/mortbay/http/encoding_en.properties
[2001-12-08 17:03:48,351,Default,INFO] Did not find the UCL resource org/mortbay/http/encoding_en_US.properties
[2001-12-08 17:03:48,361,Jetty,WARN] WARNING: Unsuitable contextPathSpec /soap, Assuming: /soap/*
[2001-12-08 17:03:48,631,Default,INFO] Did not find the UCL resource org/mortbay/jetty/jmx/mbean_en_US.properties
[2001-12-08 17:03:48,802,AutoDeployer,DEBUG] Received notification of mbean Jetty:Jetty=0,context=/soap,WebApplicationContext=0's deployment.
[2001-12-08 17:03:48,802,Jetty,INFO] Registered Jetty:Jetty=0,context=/soap,WebApplicationContext=0
[2001-12-08 17:03:48,842,Jetty,INFO] resolving -//Sun Microsystems, Inc.//DTD Web Application 2.2//EN : http://java.sun.com/j2ee/dtds/web-app_2_2.dtd
[2001-12-08 17:03:48,852,Jetty,INFO] resolved -//Sun Microsystems, Inc.//DTD Web Application 2.2//EN : jar:file:/C:/jboss-3.0.0alpha/tmp/deploy/ServiceDeployer/copydeploy.39.org.mortbay.jetty.jar!/org/mortbay/jetty/servlet/web.dtd
[2001-12-08 17:03:48,892,Jetty,INFO] no jboss-web.xml found
[2001-12-08 17:03:49,272,WebContainer,DEBUG] AbstractWebContainer.parseWebAppDescriptors, Begin
[2001-12-08 17:03:49,292,WebContainer,DEBUG] addEnvEntries
[2001-12-08 17:03:49,292,WebContainer,DEBUG] linkResourceRefs
[2001-12-08 17:03:49,292,WebContainer,DEBUG] linkEjbRefs
[2001-12-08 17:03:49,292,WebContainer,DEBUG] linkSecurityDomain
[2001-12-08 17:03:49,292,WebContainer,DEBUG] Binding security/securityMgr to NullSecurityManager
[2001-12-08 17:03:49,322,WebContainer,DEBUG] AbstractWebContainer.parseWebAppDescriptors, End
[2001-12-08 17:03:49,362,Jetty,INFO] +++ Created JBossUserRealm, realmName=null
[2001-12-08 17:03:49,382,Jetty,INFO] Started SetupHandler in WebApplicationContext[/soap,Apache-SOAP]
[2001-12-08 17:03:49,382,Jetty,INFO] Started SecurityHandler in WebApplicationContext[/soap,Apache-SOAP]
[2001-12-08 17:03:49,633,Default,INFO] Did not find the UCL resource javax/servlet/http/LocalStrings_en.properties
[2001-12-08 17:03:49,743,Default,INFO] Did not find the UCL resource javax/servlet/http/LocalStrings_en_US.properties
[2001-12-08 17:03:49,753,Jetty,INFO] JSP: init
[2001-12-08 17:03:49,973,Default,INFO] Did not find the UCL resource org/apache/jasper/resources/messages_en.properties
[2001-12-08 17:03:50,083,Default,INFO] Did not find the UCL resource org/apache/jasper/resources/messages_en_US.properties
[2001-12-08 17:03:50,173,J2eeDeployer#Default,ERROR] Starting soap.war failed!
javax.management.RuntimeErrorException: Error thrown in operation deploy
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1642)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:506)
at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:469)
at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:231)
at java.lang.reflect.Method.invoke(Native Method)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:633)
at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:308)
at java.lang.Thread.run(Thread.java:484)
[2001-12-08 17:03:50,244,J2eeDeployer#Default,INFO] Module soap.war is not running
[2001-12-08 17:03:50,244,J2eeDeployer#Default,INFO] Stopping module soap.war
[2001-12-08 17:03:50,254,ContainerFactory,INFO] Undeploying:file:/C:/jboss-3.0.0alpha/deploy/Default/soap.war
[2001-12-08 17:03:50,304,ContainerFactory,INFO] Undeployed application: file:/C:/jboss-3.0.0alpha/deploy/Default/soap.war
[2001-12-08 17:03:50,324,J2eeDeployer#Default,INFO] Destroying application soap.war
[2001-12-08 17:03:50,704,J2eeDeployer#Default,INFO] Destroyed
[2001-12-08 17:03:50,704,AutoDeployer,ERROR] Deployment failed:file:/C:/jboss-3.0.0alpha/deploy/soap.war
org.jboss.deployment.J2eeDeploymentException: Error while starting soap.war: javax/servlet/http/HttpServlet, Cause: java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
at org.jboss.deployment.J2eeDeployer.startModules(J2eeDeployer.java:549)
at org.jboss.deployment.J2eeDeployer.startApplication(J2eeDeployer.java:469)
at org.jboss.deployment.J2eeDeployer.deploy(J2eeDeployer.java:231)
at java.lang.reflect.Method.invoke(Native Method)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1628)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
at org.jboss.deployment.AutoDeployer.deploy(AutoDeployer.java:633)
at org.jboss.deployment.AutoDeployer.run(AutoDeployer.java:308)
at java.lang.Thread.run(Thread.java:484)
================================================
I said Ok, let me go test some more. I tried it under Win2000 with the Sun JDK - no problem. I tried under Win98 with the Sun JDK - no problem. I'm now thinking that my developer has gotten some very bad mushrooms.
However, I notice that under Win98 (but not Win2000) run.bat is giving me three "syntax error" messages at the start which don't seem to impede the server coming up, so I decide to look into it.
It turns out that this is some sort of bug in the Win98 batch script engine, and that none of the SETs for JAVA_OPTS or JAXP are taking effect. Why, I don't know, unless it has something to do with length or the inclusion of blanks in some of the values. I don't get this under Win2000.
So, I create a modified run.bat which just hard-codes all of the JAVA_OPTS and JAXP stuff directly on the command line. This works just fine under Win98, and soap.war auto-deploys correctly, as it always has.
I go back to Win2000 and re-test with the new run.bat, and lo and behold I get the error my developer got. I say "ah, I've found the conditions", blow away the changes and restore my totally virgin jboss-3.0.0alpha directory with the original run.bat, AND I GET THE SAME ERROR. So I say to myself, "self, you've probably done some sort of nasty to the sticky Windows environment variables", and I reboot, and STILL GET THE ERROR.
I can't figure out what triggers this. I'm working with JBoss code that I built ONCE from the CVS tree and have been using in every environment that did or did not get the error. The error that I couldn't get to happen when it was reported I suddenly can't get NOT to happen under the Win2000 platform which didn't have a whisper of a problem originally.
Can anyone help here ?