<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ 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.
  -->

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-parent</artifactId>
        <version>1.5.6</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>
    <artifactId>axis2-jaxws-integration</artifactId>
    <name>Apache Axis2 - JAXWS Integration Tests</name>
    <description>Axis2 JAXWS Integration Tests</description>
    <dependencies>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-annotation_1.0_spec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-kernel</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>addressing</artifactId>
            <version>${project.version}</version>
            <type>mar</type>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-saaj</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-metadata</artifactId>
            <version>${project.version}</version>
        </dependency>
         <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-http</artifactId>
            <version>${project.version}</version>
        </dependency>
         <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-local</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-jaxws</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-testutils</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <url>http://axis.apache.org/axis2/java/core/</url>
    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/tags/v1.5.6/modules/jaxws-integration</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/tags/v1.5.6/modules/jaxws-integration</developerConnection>
        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/tags/v1.5.6/modules/jaxws-integration</url>
    </scm>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <resources>
            <resource>
                <directory>conf</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
        <testResources>
            <testResource>
                <directory>test</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.wsdl</include>
                    <include>**/*.properties</include>
                </includes>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <compilerArgument>
                        -Xbootclasspath/p:${basedir}/../jaxws-api/target/classes${path.separator}${basedir}/../jws-api/target/classes
                    </compilerArgument>
                    <compilerVersion>1.5</compilerVersion>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>gen-ts</id>
                        <phase>generate-test-sources</phase>
                        <configuration>
                            <tasks unless="maven.test.skip">
                                <!-- Theres got to be a better way to do this -->
                                <property name="schema.source.dir" value="test-resources/xsd" />
                                <property name="wsdl.source.dir" value="test-resources/wsdl" />
                                <property name="schema.output.base.dir" value="target/schema" />
                                <property name="schema.generated.src.dir" value="${schema.output.base.dir}/src" />
                                <property name="schema.generated.classes.dir" value="${schema.output.base.dir}/classes" />
                                <!-- make the dirs -->
                                <mkdir dir="${schema.output.base.dir}" />
                                <mkdir dir="${schema.generated.src.dir}" />
                                <mkdir dir="${schema.generated.classes.dir}" />
                                <!-- Run JAXB schema compiler with designated schemas -->
                                <echo>Generating JAX-B classes from XSDs</echo>
                                <echo>Generating java from soap 11</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet ${schema.source.dir}/soap11.xsd" />
                                </java>
                                <echo>Generating java from echo.xsd</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet ${schema.source.dir}/echo.xsd" />
                                </java>
                                <echo>Generating java from stock1.xsd</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet ${schema.source.dir}/stock1.xsd" />
                                </java>
                                <echo>Generating java from stock2.xsd</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet ${schema.source.dir}/stock2.xsd" />
                                </java>
                                <echo>Generating java from samplemtom.xsd</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet ${schema.source.dir}/samplemtom.xsd" />
                                </java>
                                <echo>Generating java from greeterTypes.xsd</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet ${schema.source.dir}/greeterTypes.xsd" />
                                </java>
                                <echo>Generating java from ProxyDocLitWrapped.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -p org.test.proxy.doclitwrapped -quiet -wsdl ${wsdl.source.dir}/ProxyDocLitWrapped.wsdl" />
                                </java>
                                <echo>Generating java from AddNumbers.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/AddNumbers.wsdl" />
                                </java>
                                <echo>Generating java from ProxyDocLitnonWrapped.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/ProxyDocLitnonWrapped.wsdl" />
                                </java>
                                <echo>Generating java from samplemtomjpeg.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/samplemtomjpeg.wsdl" />
                                </java>
                                <echo>Generating java from RPCLit.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -p org.test.proxy.rpclit -quiet -wsdl ${wsdl.source.dir}/RPCLit.wsdl" />
                                </java>
                                <echo>Generating java from RPCLitSWA.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -p org.test.proxy.rpclitswa -quiet -wsdl ${wsdl.source.dir}/RPCLitSWA.wsdl" />
                                </java>
                                <echo>Generating java from gorilla_dlw.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/gorilla_dlw.wsdl" />
                                </java>
                                <echo>Generating java from SOAP12Echo.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/SOAP12Echo.wsdl" />
                                </java>
                                <echo>Generating java from AddNumbersHandler.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/AddNumbersHandler.wsdl" />
                                </java>
                                <echo>Generating java from async_doclitwr.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/async_doclitwr.wsdl" />
                                </java>
                                <echo>Generating java from async_doclitwr2.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/async_doclitwr2.wsdl" />
                                </java>
                                <echo>Generating java from FaultyWebService.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/FaultyWebService.wsdl" />
                                </java>
                                <echo>Generating java from FaultsService.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/FaultsService.wsdl" />
                                </java>
                                <echo>Generating java from jaxbsource</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -p org.test.dispatch.jaxbsource ${schema.source.dir}/jaxbsource.xsd" />
                                </java>
                                <echo>Generating java from doclit_nonwrap.wsdl for javabean endpoint
                                    support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/doclit_nonwrap.wsdl" />
                                </java>
                                <echo>Generating java from doclitwrap.wsdl for javabean endpoint
                                    support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/doclitwrap.wsdl" />
                                </java>
                                <echo>Generating java from doclitbare.wsdl for javabean endpoint
                                    support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/doclitbare.wsdl" />
                                </java>
                                
                                <echo>Generating java from EchoMessage.wsdl for javabean endpoint
                                    support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/EchoMessage.wsdl" />
                                </java>
                                
                                <echo>Generating java from resourceinjection.wsdl for javabean
                                    endpoint Resource Injection support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/resourceinjection.wsdl" />
                                </java>
                                <echo>Generating java from AnyType.wsdl for javabean endpoint
                                    AnyType support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/AnyType.wsdl" />
                                </java>
                                <echo>Generating java from MessageContext.wsdl for message context
                                    properties support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/MessageContext.wsdl" />
                                </java>
                                <echo>Generating java from WSDLMultiTests.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/WSDLMultiTests.wsdl" />
                                </java>
                                <echo>Generating java from Polymorphic shapes.wsdl for javabean
                                    endpoint support
                                </echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/shapes.wsdl" />
                                </java>
                                <echo>Generating java from SOAPActionTest.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/SOAPActionTest.wsdl" />
                                </java>
                                <echo>Generating java from rpclitenum.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/rpclitenum.wsdl" />
                                </java>
                                <echo>Generating java from AddNumbersHandler.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/AddNumbersHandler.wsdl" />
                                </java>
                                <echo>Generating java from rpclitstringarray.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/rpclitstringarray.wsdl" />
                                </java>
                                <echo>Generating java from swamtomservice.wsdl</echo>
                                <java classname="com.sun.tools.xjc.Driver" fork="true">
                                    <classpath refid="maven.runtime.classpath" />
                                    <classpath location="${compiled.classes.dir}" />
                                    <arg line="-d ${schema.generated.src.dir} -quiet -wsdl ${wsdl.source.dir}/swamtomservice.wsdl" />
                                </java>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>build-repo</id>
                        <phase>test-compile</phase>
                        <configuration>
                            <tasks unless="maven.test.skip">

                                <!-- Enable Addressing on the client side -->
                                <mkdir dir="./target/client-repo/modules/" />
                                <copy file="../addressing/target/addressing-${project.version}.mar" tofile="./target/client-repo/modules/addressing-${project.version}.mar" />

                                <!-- Enable Addressing on the server side -->
                                <mkdir dir="./target/test-classes/modules/" />
                                <copy file="../addressing/target/addressing-${project.version}.mar" tofile="./target/test-classes/modules/addressing-${project.version}.mar" />

                                <!-- ================================================================ -->
                                <!-- Non-JAXWS services -->
                                <!-- ================================================================ -->

                                <copy toDir="target/test-classes/services/EchoService/">
                                    <fileset dir="target/test-classes">
                                        <include name="server/**" />
                                    </fileset>
                                    <fileset dir="test/server">
                                        <exclude name="**/*.java" />
                                    </fileset>
                                </copy>
                                <copy toDir="target/test-classes/services/BookStoreService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/client/soapaction/**" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/client/soapaction/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <mkdir dir="./target/test-classes/servicejars" />
                                <!-- ================================================================ -->
                                <!-- JAXWS services -->
                                <!-- ================================================================ -->
                                <!-- ================================================================ -->
                                <!-- Provider endpoint Service Samples -->
                                <!-- ================================================================ -->
                                <copy toDir="target/test-classes/servicejars/WSGenService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/wsgen/WSGenInterface.class" />
                                        <include name="org/apache/axis2/jaxws/sample/wsgen/WSGenImpl.class" />
                                        <include name="org/apache/axis2/jaxws/sample/wsgen/jaxws/**" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/wsgen">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/WSGenService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/WSGenService" />
                                <delete dir="target/test-classes/servicejars/WSGenService" />

                                <copy toDir="target/test-classes/servicejars/BasicAuthSecurityService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/security/server/**" />
                                        <exclude name="org/apache/axis2/jaxws/security/server/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/security/server">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/BasicAuthSecurityService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/BasicAuthSecurityService" />
                                <delete dir="target/test-classes/servicejars/BasicAuthSecurityService" />

                                <copy toDir="target/test-classes/servicejars/StringProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/string/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/string/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/string">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/StringProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/StringProviderService" />
                                <delete dir="target/test-classes/servicejars/StringProviderService" />

                                <copy toDir="target/test-classes/servicejars/StringMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/stringmsg/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/stringmsg/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/stringmsg">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/StringMessageProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/StringMessageProviderService" />
                                <delete dir="target/test-classes/servicejars/StringMessageProviderService" />

                                <copy toDir="target/test-classes/servicejars/SourceProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/source/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/source/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/source">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SourceProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SourceProviderService" />
                                <delete dir="target/test-classes/servicejars/SourceProviderService" />

                                <copy toDir="target/test-classes/servicejars/SourceMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/sourcemsg/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/sourcemsg/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/sourcemsg">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SourceMessageProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SourceMessageProviderService" />
                                <delete dir="target/test-classes/servicejars/SourceMessageProviderService" />

                                <copy toDir="target/test-classes/servicejars/SoapMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/soapmsg/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/soapmsg/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/soapmsg">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SoapMessageProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SoapMessageProviderService" />
                                <delete dir="target/test-classes/servicejars/SoapMessageProviderService" />

                                <copy toDir="target/test-classes/servicejars/SoapMessageCheckMTOMProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/soapmsgcheckmtom/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/soapmsgcheckmtom/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/soapmsgcheckmtom">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SoapMessageCheckMTOMProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SoapMessageCheckMTOMProviderService" />
                                <delete dir="target/test-classes/servicejars/SoapMessageCheckMTOMProviderService" />
                                
                                <copy toDir="target/test-classes/servicejars/SoapMessageMUProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/soapmsgmu/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/soapmsgmu/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/soapmsgmu">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SoapMessageMUProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SoapMessageMUProviderService" />
                                <delete dir="target/test-classes/servicejars/SoapMessageMUProviderService" />

                                <copy toDir="target/test-classes/servicejars/JAXBProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/jaxb/**" />
                                        <exclude name="org/apache/axis2/jaxws/provider/jaxb/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/jaxb">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="target/schema/classes">
                                        <include name="org/test/mtom/**" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/JAXBProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/JAXBProviderService" />
                                <delete dir="target/test-classes/servicejars/JAXBProviderService" />

                                <copy toDir="target/test-classes/servicejars/SendImageService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/mtom1/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/mtom1/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/mtom1">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="target/schema/classes">
                                        <include name="org/apache/axis2/jaxws/sample/mtom1/**" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SendImageService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SendImageService" />
                                <delete dir="target/test-classes/servicejars/SendImageService" />

                                <copy toDir="target/test-classes/servicejars/SOAP12Service/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/dispatch/server/**" />
                                        <exclude name="org/apache/axis2/jaxws/dispatch/server/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/dispatch/server">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SOAP12Service.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SOAP12Service" />
                                <delete dir="target/test-classes/servicejars/SOAP12Service" />

                                <copy toDir="target/test-classes/servicejars/SWAMTOMService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/swamtom/server/**" />
                                        <exclude name="org/apache/axis2/jaxws/swamtom/server/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/swamtom/server">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SWAMTOMService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SWAMTOMService" />
                                <delete dir="target/test-classes/servicejars/SWAMTOMService" />
                                <!-- ================================================================ -->
                                <!-- Proxy endpoint Service Samples -->
                                <!-- ================================================================ -->
                                <copy toDir="target/test-classes/servicejars/ProxyDocLitWrapped/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/doclitwrapped/**" />
                                        <exclude name="org/apache/axis2/jaxws/proxy/doclitwrapped/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/proxy/doclitwrapped">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/ProxyDocLitWrapped.jar" basedir="${pom.basedir}/target/test-classes/servicejars/ProxyDocLitWrapped" />
                                <delete dir="target/test-classes/servicejars/ProxyDocLitWrapped" />

                                <copy toDir="target/test-classes/servicejars/ProxyDocLitnonWrapped/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/doclitnonwrapped/**" />
                                        <exclude name="org/apache/axis2/jaxws/proxy/doclitnonwrapped/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/proxy/doclitnonwrapped">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/ProxyDocLitnonWrapped.jar" basedir="${pom.basedir}/target/test-classes/servicejars/ProxyDocLitnonWrapped" />
                                <delete dir="target/test-classes/servicejars/ProxyDocLitnonWrapped" />

                                <copy toDir="target/test-classes/servicejars/RPCLit/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/rpclit/**" />
                                        <exclude name="org/apache/axis2/jaxws/proxy/rpclit/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/proxy/rpclit">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/RPCLit.jar" basedir="${pom.basedir}/target/test-classes/servicejars/RPCLit" />
                                <delete dir="target/test-classes/servicejars/RPCLit" />

                                <copy toDir="target/test-classes/servicejars/RPCLitSWA/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/rpclitswa/**" />
                                        <exclude name="org/apache/axis2/jaxws/proxy/rpclitswa/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/proxy/rpclitswa">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/RPCLitSWA.jar" basedir="${pom.basedir}/target/test-classes/servicejars/RPCLitSWA" />
                                <delete dir="target/test-classes/servicejars/RPCLitSWA" />

                                <copy toDir="target/test-classes/servicejars/AddressingProvider/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/addressing/**" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/provider/addressing/">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/AddressingProvider.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AddressingProvider" />
                                <delete dir="target/test-classes/servicejars/AddressingProvider" />

                                <copy toDir="target/test-classes/servicejars/SOAP12EchoService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/soap12/**" />
                                        <exclude name="org/apache/axis2/jaxws/proxy/soap12/server/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/proxy/soap12/server">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/SOAP12EchoService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SOAP12EchoService" />
                                <delete dir="target/test-classes/servicejars/SOAP12EchoService" />

                                <copy toDir="target/test-classes/servicejars/gorilla_dlw/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/gorilla_dlw/**" />
                                        <exclude name="org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/proxy/gorilla_dlw">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/gorilla_dlw.jar" basedir="${pom.basedir}/target/test-classes/servicejars/gorilla_dlw" />
                                <delete dir="target/test-classes/servicejars/gorilla_dlw" />

                                <!-- ================================================================ -->
                                <!-- XML HTTP Tests -->
                                <!-- ================================================================ -->
                                <copy toDir="target/test-classes/servicejars/XPayloadStringProvider/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/xmlhttp/provider/payload/string/*.class" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/payload/string">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/XPayloadStringProvider.jar" basedir="${pom.basedir}/target/test-classes/servicejars/XPayloadStringProvider" />
                                <delete dir="target/test-classes/servicejars/XPayloadStringProvider" />

                                <copy toDir="target/test-classes/servicejars/XMessageStringProvider/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/xmlhttp/provider/message/string/*.class" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/message/string">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/XMessageStringProvider.jar" basedir="${pom.basedir}/target/test-classes/servicejars/XMessageStringProvider" />
                                <delete dir="target/test-classes/servicejars/XMessageStringProvider" />

                                <copy toDir="target/test-classes/servicejars/XPayloadSourceProvider/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/xmlhttp/provider/payload/source/*.class" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/payload/source">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/XPayloadSourceProvider.jar" basedir="${pom.basedir}/target/test-classes/servicejars/XPayloadSourceProvider" />
                                <delete dir="target/test-classes/servicejars/XPayloadSourceProvider" />

                                <copy toDir="target/test-classes/servicejars/XMessageSourceProvider/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/xmlhttp/provider/message/source/*.class" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/message/source">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/XMessageSourceProvider.jar" basedir="${pom.basedir}/target/test-classes/servicejars/XMessageSourceProvider" />
                                <delete dir="target/test-classes/servicejars/XMessageSourceProvider" />

                                <copy toDir="target/test-classes/servicejars/XMessageDataSourceProvider/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/xmlhttp/provider/message/datasource/*.class" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/message/datasource">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/XMessageDataSourceProvider.jar" basedir="${pom.basedir}/target/test-classes/servicejars/XMessageDataSourceProvider" />
                                <delete dir="target/test-classes/servicejars/XMessageDataSourceProvider" />

                                <!-- ================================================================ -->
                                <!-- Java Bean Endpoint Samples -->
                                <!-- ================================================================ -->
                                <copy toDir="target/test-classes/servicejars/AddressBookService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/addressbook/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/addressbook/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/addressbook">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/AddressBookService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AddressBookService" />
                                <delete dir="target/test-classes/servicejars/AddressBookService" />


                                <copy toDir="target/test-classes/servicejars/AppleFinderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/type_substitution/*" />
                                        <include name="org/apache/axis2/jaxws/type_substitution/jaxws/*" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/AppleFinderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AppleFinderService" />
                                <delete dir="target/test-classes/servicejars/AppleFinderService" />

                                <copy toDir="target/test-classes/servicejars/MtomSampleService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/mtom/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/mtom/META-INF/services.xml" />
                                    </fileset>

                                    <fileset dir="test/org/apache/axis2/jaxws/sample/mtom">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>

                                </copy>
                                <zip destfile="target/test-classes/servicejars/MtomSampleService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/MtomSampleService" />
                                <delete dir="target/test-classes/servicejars/MtomSampleService" />
                                <copy toDir="target/test-classes/servicejars/DocLitNonWrapService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/nonwrap/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/nonwrap/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/nonwrap">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/DocLitNonWrapService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/DocLitNonWrapService" />
                                <delete dir="target/test-classes/servicejars/DocLitNonWrapService" />
                                <copy toDir="target/test-classes/servicejars/DocLitWrapService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/wrap/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/wrap/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/wrap">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/DocLitWrapService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/DocLitWrapService" />
                                <delete dir="target/test-classes/servicejars/DocLitWrapService" />
                                <copy toDir="target/test-classes/servicejars/AddNumbersService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/addnumbers/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/addnumbers/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/addnumbers">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/AddNumbersService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AddNumbersService" />
                                <delete dir="target/test-classes/servicejars/AddNumbersService" />
                                <copy toDir="target/test-classes/servicejars/AddNumbersHandlerService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/addnumbershandler/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/addnumbershandler/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/addnumbershandler">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/AddNumbersHandlerService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AddNumbersHandlerService" />
                                <delete dir="target/test-classes/servicejars/AddNumbersHandlerService" />
                                <copy toDir="target/test-classes/servicejars/GreeterService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/dlwmin/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/dlwmin/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/dlwmin">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/GreeterService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/GreeterService" />
                                <delete dir="target/test-classes/servicejars/GreeterService" />

                                <copy toDir="target/test-classes/servicejars/AsyncService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/parallelasync/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/parallelasync/server/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/parallelasync/server">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/AsyncService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AsyncService" />
                                <delete dir="target/test-classes/servicejars/AsyncService" />

                                <copy toDir="target/test-classes/servicejars/AsyncService2/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/asyncdoclit/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/asyncdoclit/server/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/asyncdoclit/server">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/AsyncService2.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AsyncService2" />
                                <delete dir="target/test-classes/servicejars/AsyncService2" />

                                <copy toDir="target/test-classes/servicejars/FaultyWebServiceService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/faults/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/faults/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/faults">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/FaultyWebServiceService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/FaultyWebServiceService" />
                                <delete dir="target/test-classes/servicejars/FaultyWebServiceService" />

                                <copy toDir="target/test-classes/servicejars/FaultsService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/faultsservice/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/faultsservice/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/faultsservice">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/FaultsService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/FaultsService" />
                                <delete dir="target/test-classes/servicejars/FaultsService" />

                                <copy toDir="target/test-classes/servicejars/BareDocLitService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/doclitbare/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/doclitbare/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/doclitbare">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/BareDocLitService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/BareDocLitService" />
                                <delete dir="target/test-classes/servicejars/BareDocLitService" />

                                <copy toDir="target/test-classes/servicejars/EchoMessageService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/nonanonymous/complextype/**" />
                                        <exclude name="org/apache/axis2/jaxws/nonanonymous/complextype/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/nonanonymous/complextype">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/EchoMessageService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/EchoMessageService" />
                                <delete dir="target/test-classes/servicejars/EchoMessageService" />

                                <copy toDir="target/test-classes/servicejars/ResourceInjectionService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/resourceinjection/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/resourceinjection/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/resourceinjection">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/ResourceInjectionService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/ResourceInjectionService" />
                                <delete dir="target/test-classes/servicejars/ResourceInjectionService" />

                                <copy toDir="target/test-classes/servicejars/AnyTypeMessageService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/anytype/**" />
                                        <exclude name="org/apache/axis2/jaxws/anytype/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/anytype">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/AnyTypeMessageService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/AnyTypeMessageService" />
                                <delete dir="target/test-classes/servicejars/AnyTypeMessageService" />

                                <copy toDir="target/test-classes/servicejars/MessageContextService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/context/**" />
                                        <exclude name="org/apache/axis2/jaxws/context/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/context">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/MessageContextService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/MessageContextService" />
                                <delete dir="target/test-classes/servicejars/MessageContextService" />

                                <copy toDir="target/test-classes/servicejars/PolymorphicShapeService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/polymorphic/shape/**" />
                                        <exclude name="org/apache/axis2/jaxws/polymorphic/shape/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/polymorphic/shape">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/PolymorphicShapeService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/PolymorphicShapeService" />
                                <delete dir="target/test-classes/servicejars/PolymorphicShapeService" />

                                <copy toDir="target/test-classes/servicejars/RPCLitEnumService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/rpclit/enumtype/**" />
                                        <exclude name="org/apache/axis2/jaxws/rpclit/enumtype/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/rpclit/enumtype">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/RPCLitEnumService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/RPCLitEnumService" />
                                <delete dir="target/test-classes/servicejars/RPCLitEnumService" />

                                <copy toDir="target/test-classes/servicejars/RPCLitStringArrayService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/rpclit/stringarray/**" />
                                        <exclude name="org/apache/axis2/jaxws/rpclit/stringarray/META-INF/services.xml" />
                                        <include name="org/test/rpclit/stringarray/**" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/rpclit/stringarray/">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/RPCLitStringArrayService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/RPCLitStringArrayService" />
                                <delete dir="target/test-classes/servicejars/RPCLitStringArrayService" />


                                <copy toDir="target/test-classes/servicejars/BareDocLitMinService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/doclitbaremin/**" />
                                        <exclude name="org/apache/axis2/jaxws/sample/doclitbaremin/META-INF/services.xml" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/doclitbaremin/">
                                        <include name="META-INF/**" />
                                        <exclude name="META-INF/services.xml" />
                                    </fileset>
                                </copy>

                                <zip destfile="target/test-classes/servicejars/BareDocLitMinService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/BareDocLitMinService" />
                                <delete dir="target/test-classes/servicejars/BareDocLitMinService" />

                                <copy toDir="target/test-classes/servicejars/StringListService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/stringlist/**" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/stringlist/">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>
                                <zip destfile="target/test-classes/servicejars/StringListService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/StringListService" />
                                <delete dir="target/test-classes/servicejars/StringListService" />
                                
								<copy toDir="target/test-classes/servicejars/SOAPBindingProviderService/">
									<fileset dir="target/test-classes">
									   <include name="org/apache/axis2/jaxws/provider/soapbinding/SOAPBindingProvider**" />
									   <exclude name="org/apache/axis2/jaxws/provider/soapbinding/META-INF/services.xml" />
									</fileset>
									<fileset dir="test/org/apache/axis2/jaxws/provider/soapbinding">
									   <include name="META-INF/**" />
									   <exclude name="services.xml" />
									</fileset>
								</copy>
								<zip destfile="target/test-classes/servicejars/SOAPBindingProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SOAPBindingProviderService" />
						        
						        <delete dir="target/test-classes/servicejars/SOAPBindingProviderService" />
						        
								<copy toDir="target/test-classes/servicejars/SOAPBindingStringProviderService/">
									<fileset dir="target/test-classes">
									   <include name="org/apache/axis2/jaxws/provider/soapbinding/string/**" />
									   <exclude name="org/apache/axis2/jaxws/provider/soapbinding/string/META-INF/services.xml" />
									</fileset>
									<fileset dir="test/org/apache/axis2/jaxws/provider/soapbinding/string">
									   <include name="META-INF/**" />
									    <exclude name="services.xml" />
									</fileset>
								</copy>
								
								<zip destfile="target/test-classes/servicejars/SOAPBindingStringProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SOAPBindingStringProviderService" />
						        <delete dir="target/test-classes/servicejars/SOAPBindingStringProviderService" />
						        
								<copy toDir="target/test-classes/servicejars/SoapMessageProviderService/">
									<fileset dir="target/test-classes">
									   <include name="org/apache/axis2/jaxws/provider/soapbinding/soapmsg/**" />
									   <exclude name="org/apache/axis2/jaxws/provider/soapbinding/soapmsg/META-INF/services.xml" />
									</fileset>
									<fileset dir="test/org/apache/axis2/jaxws/provider/soapbinding/soapmsg">
									   <include name="META-INF/**" />
									    <exclude name="services.xml" />
									</fileset>
								</copy>
								<zip destfile="target/test-classes/servicejars/SoapMessageProviderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/SoapMessageProviderService" />
						        <delete dir="target/test-classes/servicejars/SoapMessageProviderService" />
						        
								<copy toDir="target/test-classes/servicejars/HandlerHeaderService/">
									<fileset dir="target/test-classes">
									   <include name="org/apache/axis2/jaxws/handler/header/**" />
									</fileset>
									<fileset dir="test/org/apache/axis2/jaxws/handler/header">
									   <include name="META-INF/**" />
									   <include name="handler.xml" />									   
									</fileset>
									
								</copy>	
								<!-- We have to explicitly copy the xml file refered to by the client interface HandlerChain annotation -->
								<copy toDir="target/test-classes/">
									<fileset dir="test">
										<include name="org/apache/axis2/jaxws/handler/header/handler.xml" />
									</fileset>
								</copy>
								
								<zip destfile="target/test-classes/servicejars/HandlerHeaderService.jar" basedir="${pom.basedir}/target/test-classes/servicejars/HandlerHeaderService" />
								<delete dir="target/test-classes/servicejars/HandlerHeaderService" />
								
                                <copy toDir="target/test-classes/">
                                    <fileset dir="test-resources/">
                                        <include name="**/*.properties" />
                                        <include name="**/axis2.xml" />
                                    </fileset>
                                </copy>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>add-test-source</id>
                        <phase>process-test-resources</phase>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${basedir}/target/schema/src</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <forkMode>pertest</forkMode>
                    <argLine>-Xms256m -Xmx512m</argLine>
                    <!-- Enable the next 2 lines if you want to attach a debugger
                    <argLine>-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006</argLine>-->
                    <includes>
                        <include>**/MultiRedirectionCatalogTest.java</include>
                        <include>**/DispatchSoapActionTest.java</include>
                        <include>**/ProxySoapActionTest.java</include>
                        <include>**/DispatchMTOMFeatureTest.java</include>
                        <include>**/InvocationControllerTest.java</include>
                        <include>**/ProxyMTOMFeatureTest.java</include>
                        <include>**/SOAP12DispatchTest.java</include>
                        <include>**/OMElementDispatchTest.java</include>
                        <include>**/JAXBContextTest.java</include>

                        <include>**/StringProviderTests.java</include>
                        <include>**/SOAPFaultProviderTests.java</include>
                        <include>**/StringMessageProviderTests.java</include>
                        <include>**/SourceProviderTests.java</include>
                        <include>**/SourceMessageProviderTests.java</include>
                        <include>**/SoapMessageMUProviderTests.java</include>
                        
                        <include>**/ProxyTests.java</include>
                        <include>**/ProxyNonWrappedTests.java</include>
                        <include>**/RPCProxyTests.java</include>
                        <include>**/RPCLitSWAProxyTests.java</include>

                        <include>**/GorillaDLWProxyTests.java</include>
                        <include>**/SOAP12ProxyTests.java</include>
                        <include>**/BasicAuthSecurityTests.java</include>
                        <include>**/AddressBookTests.java</include>
                        <include>**/MtomSampleTests.java</include>
                        <include>**/JAXBProviderTests.java</include>
                        <include>**/BareTests.java</include>
                        <include>**/AddNumbersHandlerTests.java</include>
                        <include>**/AddNumbersTests.java</include>
                        <include>**/DLWMinTests.java</include>
                        <include>**/FaultsServiceTests.java</include>
                        <include>**/WrapTests.java</include>
                        <include>**/SoapMessageProviderTests.java</include>
                        <include>**/WSGenTests.java</include>
                        <include>**/NonAnonymousComplexTypeTests.java</include>
                        <include>**/ResourceInjectionTests.java</include>
                        <include>**/AnyTypeTests.java</include>
                        <include>**/PolymorphicTests.java</include>

                        <include>**/DispatchXPayloadStringTests.java</include>
                        <include>**/DispatchXMessageStringTests.java</include>
                        <include>**/DispatchXPayloadSourceTests.java</include>
                        <include>**/DispatchXMessageSourceTests.java</include>
                        <include>**/DispatchXPayloadJAXBTests.java</include>
                        <include>**/DispatchXMessageDataSourceTests.java</include>
                        <include>**/RPCLitEnumTests.java</include>
                        <include>**/RPCLitStringArrayTests.java</include>

                        <include>**/StreamSourceDispatchTests.java</include>
                        <include>**/DOMSourceDispatchTests.java</include>
                        <include>**/SAXSourceDispatchTests.java</include>
                        <include>**/SOAPMessageDispatchTests.java</include>
                        <include>**/JAXBDispatchTests.java</include>
                        <include>**/JAXBSourceDispatchTests.java</include>
                        <include>**/StringDispatchTests.java</include>
                        <include>**/ParamTests.java</include>
                        <include>**/MessageContextTests.java</include>
                        <include>**/DocLitBareMinTests.java</include>
                        <include>**/MtomSampleByteArrayTests.java</include>
                        <include>**/HandlerTests.java</include>
                        <include>**/StringListTests.java</include>
                        <include>**/NonWrapTests.java</include>
                        <include>**/FaultyWebServiceTests.java</include> 
                        <include>**/ParallelAsyncTests.java</include>
                        <include>**/SWAMTOMTests.java</include>
                        <include>**/RuntimeExceptionsAsyncMepTest.java</include>
                        <include>**/AddressingProviderTests.java</include>
                        <include>**/TypeSubstitutionTests.java</include>
                        <include>**/SOAPBindingProviderTests.java</include>
                        <include>**/SoapMessageProviderTests.java</include>
                        <include>**/StringProviderTests.java</include>
                        
                    </includes>
                    <systemProperties>
                        <property>
                            <name>OASISCatalogManager.catalog.debug.level</name>
                            <value>0</value>
                        </property>
                        <property>
                            <name>build.repository</name>
                            <value>./target/test-classes</value>
                        </property>
                        <property>
                            <name>javax.xml.soap.MessageFactory</name>
                            <value>org.apache.axis2.saaj.MessageFactoryImpl</value>
                        </property>
                        <property>
                            <name>javax.xml.soap.SOAPFactory</name>
                            <value>org.apache.axis2.saaj.SOAPFactoryImpl</value>
                        </property>
                        <property>
                            <name>javax.xml.soap.SOAPConnectionFactory</name>
                            <value>org.apache.axis2.saaj.SOAPConnectionFactoryImpl</value>
                        </property>
                        <property>
                            <name>javax.xml.soap.MetaFactory</name>
                            <value>org.apache.axis2.saaj.SAAJMetaFactoryImpl</value>
                        </property>
                        <!-- Need this for the client side to pickup an axis2.xml to configure SoapMessageMUProviderChecker -->
                        <property>
                            <name>org.apache.axis2.jaxws.config.path</name>
                            <value>./target/test-classes/axis2.xml</value>
                        </property>
                        <!-- Need this for the client side to pickup the addressing mar -->
                        <property>
                            <name>org.apache.axis2.jaxws.repo.path</name>
                            <value>./target/client-repo</value>
                        </property>
                        <!-- Prevent Mac OS X from showing an icon in the dock during the test run -->
                        <property>
                            <name>java.awt.headless</name>
                            <value>true</value>
                        </property>
                    </systemProperties>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
