<?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.1</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>${version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>addressing</artifactId>
            <version>${version}</version>
            <type>mar</type>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>${version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-saaj</artifactId>
            <version>${version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-metadata</artifactId>
            <version>${version}</version>
        </dependency>
         <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-http</artifactId>
            <version>${version}</version>
        </dependency>
         <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-local</artifactId>
            <version>${version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-jaxws</artifactId>
            <version>${version}</version>
        </dependency>
        <dependency>
            <groupId>xml-resolver</groupId>
            <artifactId>xml-resolver</artifactId>
        </dependency>
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>jsr173</artifactId>
                    <groupId>javax.xml</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-xjc</artifactId>
        </dependency>
        <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
        </dependency>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>jsr173</artifactId>
                    <groupId>javax.xml</groupId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    <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>
                                <!-- 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>

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

                                <!-- Enable Addressing on the server side -->
                                <mkdir dir="./target/test-classes/modules/"/>
                                <copy file="../addressing/target/addressing-${version}.mar"
                                      tofile="./target/test-classes/modules/addressing-${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>
                    <skip>false</skip>
                    <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>
                    </systemProperties>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
            </plugin>
        </plugins>
    </reporting>
</project>
