You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2013/09/10 11:28:47 UTC

svn commit: r1521396 - in /cxf/trunk/rt/transports/http-netty/netty-server/src: main/java/org/apache/cxf/transport/http/netty/server/ main/java/org/apache/cxf/transport/http/netty/server/servlet/ test/java/org/apache/cxf/transport/http/netty/server/int...

Author: ningjiang
Date: Tue Sep 10 09:28:47 2013
New Revision: 1521396

URL: http://svn.apache.org/r1521396
Log:
CXF-5265 Fixed the issue that Netty Http transport can handler ?wsdl request rightly

Modified:
    cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletHandler.java
    cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java
    cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/URIParser.java
    cxf/trunk/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/integration/NettyServerTest.java

Modified: cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletHandler.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletHandler.java?rev=1521396&r1=1521395&r2=1521396&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletHandler.java (original)
+++ cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletHandler.java Tue Sep 10 09:28:47 2013
@@ -130,7 +130,7 @@ public class NettyHttpServletHandler ext
         NettyHttpServletRequest nettyServletRequest = 
             buildHttpServletRequest(request, nettyHttpContextHandler.getContextPath(), ctx);
 
-        nettyHttpContextHandler.handle(request.getUri(), nettyServletRequest, nettyServletResponse);
+        nettyHttpContextHandler.handle(nettyServletRequest.getRequestURI(), nettyServletRequest, nettyServletResponse);
         interceptOnRequestSuccessed(ctx, response);
 
         nettyServletResponse.getWriter().flush();

Modified: cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java?rev=1521396&r1=1521395&r2=1521396&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java (original)
+++ cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/NettyHttpServletRequest.java Tue Sep 10 09:28:47 2013
@@ -83,6 +83,7 @@ public class NettyHttpServletRequest imp
         this.originalRequest = request;
         this.contextPath = contextPath;
         this.uriParser = new URIParser(contextPath);
+        uriParser.parse(request.getUri());
         this.inputStream = new NettyServletInputStream((HttpContent)request);
         this.reader = new BufferedReader(new InputStreamReader(inputStream));
         this.queryStringDecoder = new QueryStringDecoder(request.getUri());

Modified: cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/URIParser.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/URIParser.java?rev=1521396&r1=1521395&r2=1521396&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/URIParser.java (original)
+++ cxf/trunk/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/servlet/URIParser.java Tue Sep 10 09:28:47 2013
@@ -50,10 +50,6 @@ public class URIParser {
             this.requestUri = uri;
         }
 
-        if (this.requestUri.endsWith("/")) {
-            this.requestUri.substring(0, this.requestUri.length() - 1);
-        }
-
         if (this.pathInfo.equals("")) {
             this.pathInfo = null;
         } else if (!this.pathInfo.startsWith("/")) {

Modified: cxf/trunk/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/integration/NettyServerTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/integration/NettyServerTest.java?rev=1521396&r1=1521395&r2=1521396&view=diff
==============================================================================
--- cxf/trunk/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/integration/NettyServerTest.java (original)
+++ cxf/trunk/rt/transports/http-netty/netty-server/src/test/java/org/apache/cxf/transport/http/netty/server/integration/NettyServerTest.java Tue Sep 10 09:28:47 2013
@@ -19,10 +19,13 @@
 package org.apache.cxf.transport.http.netty.server.integration;
 
 
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
 import java.net.URL;
 import javax.xml.ws.Endpoint;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
+import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
 import org.apache.hello_world_soap_http.Greeter;
 import org.apache.hello_world_soap_http.SOAPService;
@@ -72,5 +75,16 @@ public class NettyServerTest extends Abs
         String response = g.greetMe("test");
         assertEquals("Get a wrong response", "Hello test", response);
     }
+    
+    @Test
+    public void testGetWsdl() throws Exception {
+        URL url = new URL("http://localhost:" + PORT + "/SoapContext/SoapPort?wsdl");
+
+        InputStream in = url.openStream();
+        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        IOUtils.copyAndCloseInput(in, bos);
+        String result = bos.toString();
+        assertTrue("Expect the SOAPService", result.indexOf("<service name=\"SOAPService\">") > 0);
+    }
 
 }