You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by as...@apache.org on 2010/08/18 16:38:31 UTC

svn commit: r986706 - in /cxf/trunk/systests/container-integration: ./ grizzly/ grizzly/src/ grizzly/src/test/ grizzly/src/test/java/ grizzly/src/test/java/org/ grizzly/src/test/java/org/apache/ grizzly/src/test/java/org/apache/cxf/ grizzly/src/test/ja...

Author: asoldano
Date: Wed Aug 18 14:38:31 2010
New Revision: 986706

URL: http://svn.apache.org/viewvc?rev=986706&view=rev
Log:
[CXF-2845] Adding grizzly container integration module for testing JAXWS 2.2 HTTP SPI against Grizzly container (through jaxws-grizzly-httpspi - https://jax-ws-commons.dev.java.net/grizzly-httpspi/jaxws-grizzly-httpspi/index.html)

Added:
    cxf/trunk/systests/container-integration/grizzly/
    cxf/trunk/systests/container-integration/grizzly/pom.xml
    cxf/trunk/systests/container-integration/grizzly/src/
    cxf/trunk/systests/container-integration/grizzly/src/test/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHRequest.java
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHResponse.java
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointAPITest.java
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointBean.java
    cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointInterface.java
Modified:
    cxf/trunk/systests/container-integration/pom.xml

Added: cxf/trunk/systests/container-integration/grizzly/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/grizzly/pom.xml?rev=986706&view=auto
==============================================================================
--- cxf/trunk/systests/container-integration/grizzly/pom.xml (added)
+++ cxf/trunk/systests/container-integration/grizzly/pom.xml Wed Aug 18 14:38:31 2010
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.cxf.systests</groupId>
+        <artifactId>cxf-systests-container-integration</artifactId>
+        <version>2.3.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <groupId>org.apache.cxf.systests</groupId>
+    <artifactId>cxf-systests-ci-grizzly</artifactId>
+    <name>Apache CXF Container Integration Test Grizzly</name>
+    <version>2.3.0-SNAPSHOT</version>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-frontend-jaxws</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-transports-http-jaxws-spi</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-testutils</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.grizzly</groupId>
+            <artifactId>grizzly-http</artifactId>
+            <version>1.9.18</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jvnet.jax-ws-commons</groupId>
+            <artifactId>jaxws-grizzly-httpspi</artifactId>
+            <version>1.1</version>
+            <scope>test</scope>
+            <exclusions>
+              <exclusion>
+                <groupId>javax.xml.ws</groupId>
+                <artifactId>jaxws-api</artifactId>
+              </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>${servlet-api.group}</groupId>
+            <artifactId>${servlet-api.artifact}</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                     <execution>
+                         <id>create-endorsed-dir</id>
+                         <phase>validate</phase>
+                         <goals>
+                             <goal>copy</goal>
+                         </goals>
+                         <configuration>
+                             <artifactItems>
+                                 <artifactItem>
+                                     <groupId>org.apache.geronimo.specs</groupId>
+                                     <artifactId>geronimo-jaxws_2.2_spec</artifactId>
+                                     <outputDirectory>${basedir}/target/endorsed</outputDirectory>
+                                 </artifactItem>
+                             </artifactItems>
+                         </configuration>
+                     </execution>
+                 </executions>
+           </plugin>
+           <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-surefire-plugin</artifactId>
+               <configuration>
+                   <argLine>-Djava.endorsed.dirs=${basedir}/target/endorsed</argLine>
+               </configuration>
+           </plugin> 
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <configuration>
+                        <compilerArguments>
+                            <endorseddirs>${basedir}/target/endorsed</endorseddirs>
+                        </compilerArguments>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+</project>

Added: cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHRequest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHRequest.java?rev=986706&view=auto
==============================================================================
--- cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHRequest.java (added)
+++ cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHRequest.java Wed Aug 18 14:38:31 2010
@@ -0,0 +1,46 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.grizzly;
+
+import javax.activation.DataHandler;
+import javax.xml.bind.annotation.XmlMimeType;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlType(name = "dataRequest", namespace = "http://org.apache.cxf/jaxws/endpoint/")
+public class DHRequest {
+
+    private DataHandler dataHandler;
+
+    public DHRequest() {
+    }
+
+    public DHRequest(DataHandler dataHandler) {
+        this.dataHandler = dataHandler;
+    }
+
+    @XmlMimeType("text/plain")
+    public DataHandler getDataHandler() {
+        return dataHandler;
+    }
+
+    public void setDataHandler(DataHandler dataHandler) {
+        this.dataHandler = dataHandler;
+    }
+
+}

Added: cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHResponse.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHResponse.java?rev=986706&view=auto
==============================================================================
--- cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHResponse.java (added)
+++ cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/DHResponse.java Wed Aug 18 14:38:31 2010
@@ -0,0 +1,45 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.grizzly;
+
+import javax.activation.DataHandler;
+import javax.xml.bind.annotation.XmlMimeType;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlType(name = "dataResponse", namespace = "http://org.apache.cxf/jaxws/endpoint/")
+public class DHResponse {
+
+    private DataHandler dataHandler;
+
+    public DHResponse() {
+    }
+
+    public DHResponse(DataHandler dataHandler) {
+        this.dataHandler = dataHandler;
+    }
+
+    @XmlMimeType("text/plain")
+    public DataHandler getDataHandler() {
+        return dataHandler;
+    }
+
+    public void setDataHandler(DataHandler dataHandler) {
+        this.dataHandler = dataHandler;
+    }
+}

Added: cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointAPITest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointAPITest.java?rev=986706&view=auto
==============================================================================
--- cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointAPITest.java (added)
+++ cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointAPITest.java Wed Aug 18 14:38:31 2010
@@ -0,0 +1,202 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.grizzly;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URL;
+
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.Service;
+import javax.xml.ws.soap.MTOMFeature;
+import javax.xml.ws.spi.http.HttpContext;
+
+import org.apache.cxf.testutil.common.TestUtil;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.jvnet.jax_ws_commons.transport.grizzly_httpspi.GrizzlyHttpContextFactory;
+
+public class EndpointAPITest extends Assert {
+
+    private static int counter;
+    private static int currentPort;
+    private com.sun.grizzly.http.embed.GrizzlyWebServer server;
+
+    @Before
+    public void setUp() {
+        currentPort = Integer.valueOf(TestUtil.getPortNumber(EndpointAPITest.class, counter++));
+        server = new com.sun.grizzly.http.embed.GrizzlyWebServer(currentPort);
+    }
+
+    @After
+    public void tearDown() {
+        server.stop();
+        server = null;
+    }
+    
+    @Test
+    public void testSingleEndpoint() throws Exception {
+
+        String contextPath = "/ctxt";
+        String path = "/echo";
+        String address = "http://localhost:" + currentPort + contextPath + path;
+
+        HttpContext context = GrizzlyHttpContextFactory.createHttpContext(server, contextPath, path);
+
+        Endpoint endpoint = Endpoint.create(new EndpointBean());
+        endpoint.publish(context); // Use grizzly HTTP context for publishing
+        
+        server.start();
+
+        invokeEndpoint(address);
+        
+        endpoint.stop();
+    }
+    
+    @Test
+    public void testMultiplePublishSameAddress() throws Exception {
+        server.start();
+        String contextPath = "/ctxt";
+        String path = "/echo";
+        //need to use the same HttpContext, otherwise Grizzly get confused
+        HttpContext ctx = GrizzlyHttpContextFactory.createHttpContext(server, contextPath, path);
+        for (int i = 0; i < 3; i++) {
+            String address = "http://localhost:" + currentPort + contextPath + path;
+
+            Endpoint endpoint = Endpoint.create(new EndpointBean());
+            endpoint.publish(ctx); // Use grizzly HTTP context for publishing
+
+            invokeEndpoint(address);
+
+            endpoint.stop();
+        }
+    }
+    
+    @Test
+    public void testMultipleEndpointsSameContext() throws Exception {
+        server.start();
+        String contextPath = "/ctxt";
+        String path = "/echo";
+        int k = 3;
+        Endpoint[] endpoints = new Endpoint[k];
+        HttpContext[] contexts = new HttpContext[k];
+        String[] addresses = new String[k];
+        for (int i = 0; i < k; i++) {
+            addresses[i] = "http://localhost:" + currentPort + contextPath + path + i;
+            contexts[i] = GrizzlyHttpContextFactory.createHttpContext(server,
+                                                                      contextPath,
+                                                                      path + i);
+            endpoints[i] = Endpoint.create(new EndpointBean());
+            endpoints[i].publish(contexts[i]);
+        }
+        for (int i = 0; i < k; i++) {
+            invokeEndpoint(addresses[i]);
+        }
+        for (int i = 0; i < k; i++) {
+            endpoints[i].stop();
+        }
+    }
+
+    @Test
+    public void testMultipleEndpointsDifferentContexts() throws Exception {
+        server.start();
+        String contextPath = "/ctxt";
+        String path = "/echo";
+        int k = 3;
+        Endpoint[] endpoints = new Endpoint[k];
+        HttpContext[] contexts = new HttpContext[k];
+        String[] addresses = new String[k];
+        for (int i = 0; i < k; i++) {
+            addresses[i] = "http://localhost:" + currentPort + contextPath + i + path;
+            contexts[i] = GrizzlyHttpContextFactory.createHttpContext(server,
+                                                                      contextPath + i,
+                                                                      path);
+            endpoints[i] = Endpoint.create(new EndpointBean());
+            endpoints[i].publish(contexts[i]);
+        }
+        for (int i = 0; i < k; i++) {
+            invokeEndpoint(addresses[i]);
+        }
+        for (int i = 0; i < k; i++) {
+            endpoints[i].stop();
+        }
+    }
+
+    private void invokeEndpoint(String publishURL) throws Exception {
+        URL wsdlURL = new URL(publishURL + "?wsdl");
+        QName qname = new QName("http://org.apache.cxf/jaxws/endpoint/", "EndpointService");
+        Service service = Service.create(wsdlURL, qname);
+        checkBasicInvocations(service);
+        checkMTOMInvocation(service);
+    }
+    
+    private static void checkBasicInvocations(Service service) {
+        EndpointInterface port = (EndpointInterface)service.getPort(EndpointInterface.class);
+        String helloWorld = "Hello world!";
+        assertEquals(0, port.getCount());
+        Object retObj = port.echo(helloWorld);
+        assertEquals(helloWorld, retObj);
+        assertEquals(1, port.getCount());
+        port.echo(helloWorld);
+        assertEquals(2, port.getCount());
+        try {
+            port.getException();
+            fail("Exception expected!");
+        } catch (Exception e) {
+            assertEquals("Ooops", e.getMessage());
+        }
+    }
+
+    private static void checkMTOMInvocation(Service service) throws IOException {
+        DataSource ds = new DataSource() {
+            public String getContentType() {
+                return "text/plain";
+            }
+
+            public InputStream getInputStream() throws IOException {
+                return new ByteArrayInputStream("some string".getBytes());
+            }
+
+            public String getName() {
+                return "none";
+            }
+
+            public OutputStream getOutputStream() throws IOException {
+                return null;
+            }
+        };
+        EndpointInterface port = (EndpointInterface)service.getPort(EndpointInterface.class,
+                                                                    new MTOMFeature(true));
+        DataHandler dh = new DataHandler(ds);
+        DHResponse response = port.echoDataHandler(new DHRequest(dh));
+        assertNotNull(response);
+        Object content = response.getDataHandler().getContent();
+        assertEquals("Server data", content);
+        String contentType = response.getDataHandler().getContentType();
+        assertEquals("text/plain", contentType);
+    }
+
+}

Added: cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointBean.java?rev=986706&view=auto
==============================================================================
--- cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointBean.java (added)
+++ cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointBean.java Wed Aug 18 14:38:31 2010
@@ -0,0 +1,89 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.grizzly;
+
+import java.io.IOException;
+
+import javax.activation.DataHandler;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.soap.MTOM;
+
+@WebService(serviceName = "EndpointService",
+            endpointInterface = "org.apache.cxf.systest.grizzly.EndpointInterface",
+            targetNamespace = "http://org.apache.cxf/jaxws/endpoint/")
+@MTOM
+public class EndpointBean implements EndpointInterface {
+
+    private int count;
+    private boolean initialized;
+
+    public String echo(String input) {
+        count++;
+        return input;
+    }
+
+    @PostConstruct
+    public void init() {
+        this.initialized = true;
+    }
+
+    @PreDestroy
+    public void destroy() {
+        // nothing to do
+    }
+
+    public int getCount() {
+        this.ensureInit();
+        return count;
+    }
+
+    public void getException() {
+        this.ensureInit();
+        throw new WebServiceException("Ooops");
+    }
+
+    public DHResponse echoDataHandler(DHRequest request) {
+        this.ensureInit();
+        DataHandler dataHandler = request.getDataHandler();
+
+        try {
+            if (!dataHandler.getContentType().equals("text/plain")) {
+                throw new WebServiceException("Wrong content type");
+            }
+            if (!dataHandler.getContent().equals("some string")) {
+                throw new WebServiceException("Wrong data");
+            }
+        } catch (IOException e) {
+            throw new WebServiceException(e);
+        }
+
+        DataHandler responseData = new DataHandler("Server data", "text/plain");
+        return new DHResponse(responseData);
+    }
+
+    private void ensureInit() {
+        if (!this.initialized) {
+            throw new IllegalStateException();
+        }
+    }
+
+}

Added: cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointInterface.java
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointInterface.java?rev=986706&view=auto
==============================================================================
--- cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointInterface.java (added)
+++ cxf/trunk/systests/container-integration/grizzly/src/test/java/org/apache/cxf/systest/grizzly/EndpointInterface.java Wed Aug 18 14:38:31 2010
@@ -0,0 +1,36 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.systest.grizzly;
+
+import javax.jws.WebService;
+import javax.jws.soap.SOAPBinding;
+
+@WebService(targetNamespace = "http://org.apache.cxf/jaxws/endpoint/")
+@SOAPBinding(style = SOAPBinding.Style.RPC)
+public interface EndpointInterface {
+
+    String echo(String input);
+
+    int getCount();
+
+    void getException();
+
+    DHResponse echoDataHandler(DHRequest request);
+
+}

Modified: cxf/trunk/systests/container-integration/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/container-integration/pom.xml?rev=986706&r1=986705&r2=986706&view=diff
==============================================================================
--- cxf/trunk/systests/container-integration/pom.xml (original)
+++ cxf/trunk/systests/container-integration/pom.xml Wed Aug 18 14:38:31 2010
@@ -34,4 +34,13 @@
     <modules>
       <module>webapp</module>
     </modules>
+
+    <profiles>
+      <profile>
+        <id>jaxws22</id>
+        <modules>
+          <module>grizzly</module>
+        </modules>
+      </profile>
+    </profiles>
 </project>