[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12489219 ] Paul McMahan commented on GERONIMO-2841: I am past the error shown above now and can run the testcase.After looking further into this I don't have high hopes of a simple solution for this. According to tomcat's svn logs the configuration option was purposely removed in order to guarantee spec compliant behavior. i.e. section 9.10 of the 2.4 servlet spec says when an http client makes a request using the context path without the trailing slash that the server should redirect the client to make the same request using a trailing slash.*/foo* gets redirected to */foo/* The options that I can think of (in order of preference) are: # try to override or somehow avoid the behavior in tomcat for contexts associated with web services. I'm just about out of ideas for this though. # rearchitect the web service support in the Tomcat assembly to create a servlet for each web service instead of a context. this would require significant effort and be inconsistent with the jetty assembly. # leave the current design in place with its limitations and expect the WS client to use POST instead of GET when its original POST is redirected # ask Tomcat to provide a configuration option to reenable the non spec compliant behavior > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > Assigned To: Paul McMahan > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12487883 ] Paul McMahan commented on GERONIMO-2841: trying to understand what our options are here a little better, but right now can't get much further because I get this error when I type "mvn -P child" in testsuite/webservices-testsuite/jaxws-tests/jaxws-ejb [...] Geronimo Application Server started 14:54:17,566 WARN [startup] No ejb-jar.xml found assuming annotated beans present: /tmp/geronimo-deployer41351.tmpdir/jaxws-ejb-2.0-SNAPSHOT.jar, module: jaxws-ejb-2.0-SNAPSHOT.jar [severity=ERROR,message=unexpected element (uri:"http://www.openejb.org/openejb-jar/1.1";, local:"environment"). Expected elements are <{http://www.openejb.org/openejb-jar/1.1}ejb-deployment>,locator=[node=null,object=null,url=null,line=25,col=18,offset=-1]] 160 cmp INFO [RMI TCP Connection(8)-192.168.1.100] openjpa.Enhance - You have enabled runtime enhancement, but have not specified the set of persistent classes. OpenJPA must look for metadata for every loaded class, which might increase class load times significantly. Apr 10, 2007 2:54:38 PM org.apache.cxf.bus.spring.BusApplicationContext getConfigResources INFO: Could not find the configuration file cxf.xml on the classpath. Apr 10, 2007 2:55:56 PM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass INFO: Creating Service {http://test.geronimo.apache.org/}JAXWSBeanService from class org.apache.geronimo.test.JAXWSBean 14:55:58,299 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: abstractName="JEE5/JAXWSEJB/1.1/car?EJBModule=JEE5/JAXWSEJB/1.1/car,J2EEApplication=null,StatelessSessionBean=JAXWSBean,j2eeType=WSLink,name=JAXWSBean" java.lang.IncompatibleClassChangeError at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeWrappedSchema(ReflectionServiceFactoryBean.java:382) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:216) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:226) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:126) at org.apache.geronimo.cxf.ejb.EJBEndpoint.(EJBEndpoint.java:61) at org.apache.geronimo.cxf.ejb.EJBWebServiceContainer.publishEndpoint(EJBWebServiceContainer.java:35) at org.apache.geronimo.cxf.ejb.EJBWebServiceContainer.publishEndpoint(EJBWebServiceContainer.java:24) at org.apache.geronimo.cxf.CXFWebServiceContainer.(CXFWebServiceContainer.java:88) at org.apache.geronimo.cxf.ejb.EJBWebServiceContainer.(EJBWebServiceContainer.java:29) at org.apache.geronimo.cxf.ejb.EJBWebServiceGBean.(EJBWebServiceGBean.java:75) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:529) at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111) at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146) at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120) at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:173) at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:41) at org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:251) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:292) at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102) at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:529) at org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111) at org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146) at org.apache.geronimo.gbean.runtime.GBeanDependency$1.running
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12485667 ] Paul McMahan commented on GERONIMO-2841: Section 9.10 of the 2.4 servlet specification says that requests to /foo should be redirected to /foo/. This prompted Tomcat to remove the code that makes this redirect behavior optional, see http://svn.apache.org/viewvc?view=rev&revision=298787 So it looks our best option is to alter the client so that it uses POST instead of GET when following a redirect. > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > Assigned To: Paul McMahan > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12480117 ] Lin Sun commented on GERONIMO-2841: --- Hi Paul, thanks for providing the solution. It works great! Lin > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > Assigned To: Paul McMahan > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478918 ] Paul McMahan commented on GERONIMO-2841: The test case asks for: URL url = new URL(baseURL + warName + "/JAXWSBean") When tomcat sees that request URI it redirects the request to http://.../JAXWSBean/ (note the appended slash). The testcase's URLConnection is configured to follow redirects but uses GET instead of POST on the ensuing request. Changing the test case to use this URL fixed the problem for me: URL url = new URL(baseURL + warName + "/JAXWSBean/") > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477589 ] Lin Sun commented on GERONIMO-2841: --- Experienced the same thing (request.getMethod() always returns GET) when running the same jaxws-ejb test with Axis2. Thanks, Lin > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477451 ] Jarek Gawor commented on GERONIMO-2841: --- Use testsuite/webservices-testsuite/jaxws-tests/jaxws-ejb tests. Disable testWSDL(), and testEJB() test cases from JaxWSTest. Setup a breakpoint in EJBWebServiceValve and examine the request method. The test case might itself fail but at least the request method should be POST. > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (GERONIMO-2841) Valve reports request method as GET even though POST request was made
[ https://issues.apache.org/jira/browse/GERONIMO-2841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477443 ] Paul McMahan commented on GERONIMO-2841: can you point me at a test case where this error occurs? > Valve reports request method as GET even though POST request was made > - > > Key: GERONIMO-2841 > URL: https://issues.apache.org/jira/browse/GERONIMO-2841 > Project: Geronimo > Issue Type: Bug > Security Level: public(Regular issues) > Components: Tomcat >Reporter: Jarek Gawor > > The Request of EJBWebServiceValve in Tomcat return the request method as GET > even though POST request was sent. In similar class in Jetty the request > method is reported correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.