<?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</artifactId>
        <version>1.8.0-SNAPSHOT</version>
        <relativePath>../../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-jaxws_2.2_spec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-annotation_1.0_spec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-kernel</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>addressing</artifactId>
            <version>${project.version}</version>
            <type>mar</type>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-adb</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-saaj</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-metadata</artifactId>
            <version>${project.version}</version>
        </dependency>
         <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-http</artifactId>
            <version>${project.version}</version>
        </dependency>
         <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-transport-local</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-jaxws</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-testutils</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.ws.commons.axiom</groupId>
            <artifactId>xml-truth</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <url>http://axis.apache.org/axis2/java/core/</url>
    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws-integration</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/axis/axis2/java/core/trunk/modules/jaxws-integration</developerConnection>
        <url>http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-integration</url>
    </scm>
    <build>
        <testResources>
            <testResource>
                <directory>src/test/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.wsdl</include>
                    <include>**/*.properties</include>
                </includes>
            </testResource>
        </testResources>
        <plugins>
            <plugin>
                <groupId>com.github.veithen.alta</groupId>
                <artifactId>alta-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate-properties</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <groupId>javax.xml.bind</groupId>
                                    <artifactId>jaxb-api</artifactId>
                                </artifact>
                                <artifact>
                                    <groupId>org.apache.geronimo.specs</groupId>
                                    <artifactId>geronimo-jaxws_2.2_spec</artifactId>
                                </artifact>
                            </artifacts>
                            <name>jaxws.bootclasspath</name>
                            <value>%file%</value>
                            <separator>${path.separator}</separator>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <compilerArgument>
                        -Xbootclasspath/p:${jaxws.bootclasspath}
                    </compilerArgument>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
                <version>${project.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate-test-sources</goal>
                        </goals>
                        <configuration>
                            <packageName>server</packageName>
                            <wsdlFile>test-resources/wsdl/echo.wsdl</wsdlFile>
                            <databindingName>adb</databindingName>
                            <generateServerSide>true</generateServerSide>
                            <namespaceMappings>
                                <namespaceMapping>
                                    <uri>http://test</uri>
                                    <packageName>server</packageName>
                                </namespaceMapping>
                            </namespaceMappings>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-repo-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>build-repo</id>
                        <goals>
                            <goal>create-test-repository</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/repo</outputDirectory>
                            <modules>addressing</modules>
                            <axis2xml>test-resources/axis2.xml</axis2xml>
                            <jaxwsServices>
                                <jaxwsService>
                                    <name>XPayloadStringProvider</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.xmlhttp.provider.payload.string</package>
                                    </packages>
                                </jaxwsService>
                                <jaxwsService>
                                    <name>XMessageStringProvider</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.xmlhttp.provider.message.string</package>
                                    </packages>
                                </jaxwsService>
                                <jaxwsService>
                                    <name>XPayloadSourceProvider</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.xmlhttp.provider.payload.source</package>
                                    </packages>
                                </jaxwsService>
                                <jaxwsService>
                                    <name>XMessageSourceProvider</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.xmlhttp.provider.message.source</package>
                                    </packages>
                                </jaxwsService>
                                <jaxwsService>
                                    <name>XMessageDataSourceProvider</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.xmlhttp.provider.message.datasource</package>
                                    </packages>
                                </jaxwsService>
                            </jaxwsServices>
                        </configuration>
                    </execution>
                    <execution>
                        <id>build-addressing-repo</id>
                        <goals>
                            <goal>create-test-repository</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/addressing-repo</outputDirectory>
                            <modules>addressing</modules>
                            <axis2xml>test-resources/axis2_addressing.xml</axis2xml>
                            <jaxwsServices>
                                <jaxwsService>
                                    <name>AddressingProvider</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.provider.addressing</package>
                                    </packages>
                                    <resourcesDirectory>src/test/servicejars/AddressingProvider</resourcesDirectory>
                                </jaxwsService>
                                <jaxwsService>
                                    <name>AsyncService2</name>
                                    <packages>
                                        <package>org.apache.axis2.jaxws.sample.asyncdoclit</package>
                                    </packages>
                                    <resourcesDirectory>src/test/servicejars/AsyncService2</resourcesDirectory>
                                </jaxwsService>
                            </jaxwsServices>
                        </configuration>
                    </execution>
                    <execution>
                        <id>build-client-repo</id>
                        <phase>generate-test-resources</phase>
                        <goals>
                            <goal>create-test-repository</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/client-repo</outputDirectory>
                            <axis2xml>test-resources/axis2.xml</axis2xml>
                            <modules>addressing</modules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxb2-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>xjc-soap11</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/soap11.xsd</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/soap11</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-echo</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/echo.xsd</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/echo</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-stock1</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/stock1.xsd</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/stock1</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-stock2</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/stock2.xsd</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/stock2</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-samplemtom</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/samplemtom.xsd</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/samplemtom</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-greeterTypes</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/greeterTypes.xsd</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/greeterTypes</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-ProxyDocLitWrapped</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/ProxyDocLitWrapped.wsdl</testSource>
                            </testSources>
                            <packageName>org.test.proxy.doclitwrapped</packageName>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/ProxyDocLitWrapped</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-AddNumbers</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/AddNumbers.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/AddNumbers</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-samplemtomjpeg</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/samplemtomjpeg.wsdl</testSource>
                            </testSources>
                            <packageName>org.apache.axis2.jaxws.sample.mtom1</packageName>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/samplemtomjpeg</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-RPCLit</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/RPCLit.wsdl</testSource>
                            </testSources>
                            <packageName>org.test.proxy.rpclit</packageName>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/RPCLit</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-RPCLitSWA</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/RPCLitSWA.wsdl</testSource>
                            </testSources>
                            <packageName>org.test.proxy.rpclitswa</packageName>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/RPCLitSWA</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-gorilla_dlw</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>src/test/java/org/apache/axis2/jaxws/proxy/gorilla_dlw/META-INF/gorilla_dlw.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/gorilla_dlw</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-SOAP12Echo</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/SOAP12Echo.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/SOAP12Echo</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-AddNumbersHandler</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/AddNumbersHandler.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/AddNumbersHandler</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-HeadersHandler</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/HeadersHandler.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/HeadersHandler</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-async_doclitwr</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/async_doclitwr.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/async_doclitwr</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-async_doclitwr2</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/async_doclitwr2.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/async_doclitwr2</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-FaultyWebService</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/FaultyWebService.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/FaultyWebService</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-FaultsService</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/FaultsService.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/FaultsService</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-jaxbsource</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>XmlSchema</sourceType>
                            <testSources>
                                <testSource>test-resources/xsd/jaxbsource.xsd</testSource>
                            </testSources>
                            <packageName>org.test.dispatch.jaxbsource</packageName>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/jaxbsource</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-doclit_nonwrap</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/doclit_nonwrap.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/doclit_nonwrap</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-doclitwrap</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/doclitwrap.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/doclitwrap</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-doclitbare</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/doclitbare.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/doclitbare</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-resourceinjection</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/resourceinjection.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/resourceinjection</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-MessageContext</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/MessageContext.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/MessageContext</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-WSDLMultiTests</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/WSDLMultiTests.wsdl</testSource>
                            </testSources>
                            <packageName>multi</packageName>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/WSDLMultiTests</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-rpclitenum</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/rpclitenum.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/rpclitenum</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-rpclitstringarray</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/rpclitstringarray.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/rpclitstringarray</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-swamtomservice</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/swamtomservice.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/swamtomservice</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>xjc-ProcessDocumentService</id>
                        <goals>
                            <goal>testXjc</goal>
                        </goals>
                        <configuration>
                            <sourceType>WSDL</sourceType>
                            <testSources>
                                <testSource>test-resources/wsdl/ProcessDocumentService.wsdl</testSource>
                            </testSources>
                            <outputDirectory>${project.build.directory}/generated-test-sources/jaxb/ProcessDocumentService</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>jaxws-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>wsimport-SOAPActionTest</id>
                        <goals>
                            <goal>wsimport-test</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>${basedir}/src/test/repository/services/BookStoreService/META-INF/SOAPActionTest.wsdl</wsdlFile>
                            </wsdlFiles>
                        </configuration>
                    </execution>
                    <execution>
                        <id>wsimport-AnyType</id>
                        <goals>
                            <goal>wsimport-test</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>${basedir}/src/test/java/org/apache/axis2/jaxws/anytype/META-INF/AnyType.wsdl</wsdlFile>
                            </wsdlFiles>
                            <packageName>org.apache.axis2.jaxws.anytype</packageName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>wsimport-shapes</id>
                        <goals>
                            <goal>wsimport-test</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>${basedir}/src/test/java/org/apache/axis2/jaxws/polymorphic/shape/META-INF/shapes.wsdl</wsdlFile>
                            </wsdlFiles>
                        </configuration>
                    </execution>
                    <execution>
                        <id>wsimport-EchoMessage</id>
                        <goals>
                            <goal>wsimport-test</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>${basedir}/src/test/java/org/apache/axis2/jaxws/nonanonymous/complextype/META-INF/EchoMessage.wsdl</wsdlFile>
                            </wsdlFiles>
                            <packageName>org.apache.axis2.jaxws.nonanonymous.complextype</packageName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>wsimport-proxy_doclit_unwr</id>
                        <goals>
                            <goal>wsimport-test</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>${basedir}/src/test/java/org/apache/axis2/jaxws/proxy/doclitnonwrapped/META-INF/proxy_doclit_unwr.wsdl</wsdlFile>
                            </wsdlFiles>
                            <packageName>org.apache.axis2.jaxws.proxy.doclitnonwrapped</packageName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>wsimport-ProxyDocLitWrapped</id>
                        <goals>
                            <goal>wsimport-test</goal>
                        </goals>
                        <configuration>
                            <wsdlFiles>
                                <wsdlFile>${basedir}/src/test/java/org/apache/axis2/jaxws/proxy/doclitwrapped/META-INF/ProxyDocLitWrapped.wsdl</wsdlFile>
                            </wsdlFiles>
                            <packageName>org.apache.axis2.jaxws.proxy.doclitwrapped</packageName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>build-repo</id>
                        <phase>test-compile</phase>
                        <configuration>
                            <tasks unless="maven.test.skip">
                                <property name="repo.dir" value="${project.build.directory}/repo" />
                                <property name="services.dir" value="${repo.dir}/services" />
                                <property name="servicejars.dir" value="${repo.dir}/servicejars" />

                                <mkdir dir="${servicejars.dir}" />
                                <!-- ================================================================ -->
                                <!-- JAXWS services -->
                                <!-- ================================================================ -->
                                <!-- ================================================================ -->
                                <!-- Provider endpoint Service Samples -->
                                <!-- ================================================================ -->
                                <copy toDir="${servicejars.dir}/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="src/test/java/org/apache/axis2/jaxws/sample/wsgen">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/WSGenService.jar" basedir="${servicejars.dir}/WSGenService" />
                                <delete dir="${servicejars.dir}/WSGenService" />

                                <copy toDir="${servicejars.dir}/BasicAuthSecurityService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/security/server/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/security/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/BasicAuthSecurityService.jar" basedir="${servicejars.dir}/BasicAuthSecurityService" />
                                <delete dir="${servicejars.dir}/BasicAuthSecurityService" />

                                <copy toDir="${servicejars.dir}/StringProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/string/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/string">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/StringProviderService.jar" basedir="${servicejars.dir}/StringProviderService" />
                                <delete dir="${servicejars.dir}/StringProviderService" />

                                <copy toDir="${servicejars.dir}/StringMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/stringmsg/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/stringmsg">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/StringMessageProviderService.jar" basedir="${servicejars.dir}/StringMessageProviderService" />
                                <delete dir="${servicejars.dir}/StringMessageProviderService" />

                                <copy toDir="${servicejars.dir}/SourceProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/source/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/source">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SourceProviderService.jar" basedir="${servicejars.dir}/SourceProviderService" />
                                <delete dir="${servicejars.dir}/SourceProviderService" />

                                <copy toDir="${servicejars.dir}/SourceMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/sourcemsg/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/sourcemsg">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SourceMessageProviderService.jar" basedir="${servicejars.dir}/SourceMessageProviderService" />
                                <delete dir="${servicejars.dir}/SourceMessageProviderService" />

                                <copy toDir="${servicejars.dir}/SoapMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/soapmsg/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/soapmsg">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SoapMessageProviderService.jar" basedir="${servicejars.dir}/SoapMessageProviderService" />
                                <delete dir="${servicejars.dir}/SoapMessageProviderService" />

                                <copy toDir="${servicejars.dir}/SoapMessageCheckMTOMProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/soapmsgcheckmtom/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/soapmsgcheckmtom">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

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

                                <jar destfile="${servicejars.dir}/SoapMessageMUProviderService.jar" basedir="${servicejars.dir}/SoapMessageMUProviderService" />
                                <delete dir="${servicejars.dir}/SoapMessageMUProviderService" />

                                <copy toDir="${servicejars.dir}/SoapMessageNullProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/soapmsgreturnnull/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/soapmsgreturnnull">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SoapMessageNullProviderService.jar" basedir="${servicejars.dir}/SoapMessageNullProviderService" />
                                <delete dir="${servicejars.dir}/SoapMessageNullProviderService" />

                                <copy toDir="${servicejars.dir}/JAXBProviderService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/provider/jaxb/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/provider/jaxb">
                                        <include name="META-INF/**" />
                                    </fileset>
                                    <fileset dir="target/test-classes">
                                        <include name="org/test/mtom/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/JAXBProviderService.jar" basedir="${servicejars.dir}/JAXBProviderService" />
                                <delete dir="${servicejars.dir}/JAXBProviderService" />

                                <copy toDir="${servicejars.dir}/SendImageService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/mtom1/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/mtom1">
                                        <include name="META-INF/**" />
                                    </fileset>
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/mtom1/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SendImageService.jar" basedir="${servicejars.dir}/SendImageService" />
                                <delete dir="${servicejars.dir}/SendImageService" />

                                <copy toDir="${servicejars.dir}/SOAP12Service/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/dispatch/server/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/dispatch/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SOAP12Service.jar" basedir="${servicejars.dir}/SOAP12Service" />
                                <delete dir="${servicejars.dir}/SOAP12Service" />


                                <copy toDir="${servicejars.dir}/SWAMTOMService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/swamtom/server/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/swamtom/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

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

                                <jar destfile="${servicejars.dir}/ProxyDocLitWrapped.jar" basedir="${servicejars.dir}/ProxyDocLitWrapped" />
                                <delete dir="${servicejars.dir}/ProxyDocLitWrapped" />

                                <copy toDir="${servicejars.dir}/ProxyDocLitnonWrapped/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/doclitnonwrapped/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/proxy/doclitnonwrapped">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/ProxyDocLitnonWrapped.jar" basedir="${servicejars.dir}/ProxyDocLitnonWrapped" />
                                <delete dir="${servicejars.dir}/ProxyDocLitnonWrapped" />

                                <copy toDir="${servicejars.dir}/RPCLit/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/rpclit/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/proxy/rpclit">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/RPCLit.jar" basedir="${servicejars.dir}/RPCLit" />
                                <delete dir="${servicejars.dir}/RPCLit" />

                                <copy toDir="${servicejars.dir}/RPCLitSWA/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/rpclitswa/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/proxy/rpclitswa">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/RPCLitSWA.jar" basedir="${servicejars.dir}/RPCLitSWA" />
                                <delete dir="${servicejars.dir}/RPCLitSWA" />

                                <copy toDir="${servicejars.dir}/SOAP12EchoService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/soap12/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/proxy/soap12/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/SOAP12EchoService.jar" basedir="${servicejars.dir}/SOAP12EchoService" />
                                <delete dir="${servicejars.dir}/SOAP12EchoService" />

                                <copy toDir="${servicejars.dir}/gorilla_dlw/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/gorilla_dlw/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/proxy/gorilla_dlw">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/gorilla_dlw.jar" basedir="${servicejars.dir}/gorilla_dlw" />
                                <delete dir="${servicejars.dir}/gorilla_dlw" />

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


                                <copy toDir="${servicejars.dir}/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>
                                <jar destfile="${servicejars.dir}/AppleFinderService.jar" basedir="${servicejars.dir}/AppleFinderService" />
                                <delete dir="${servicejars.dir}/AppleFinderService" />

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

                                <jar destfile="${servicejars.dir}/GreeterService.jar" basedir="${servicejars.dir}/GreeterService" />
                                <delete dir="${servicejars.dir}/GreeterService" />
                                
                                <copy toDir="${servicejars.dir}/GenericService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/dlwminArrays/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/GenericService.jar" basedir="${servicejars.dir}/GenericService" />
                                <delete dir="${servicejars.dir}/GenericService" />

                                <copy toDir="${servicejars.dir}/AsyncService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/parallelasync/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/parallelasync/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/AsyncService.jar" basedir="${servicejars.dir}/AsyncService" />
                                <delete dir="${servicejars.dir}/AsyncService" />

                                <copy toDir="${servicejars.dir}/FaultyWebServiceService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/faults/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/faults">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/FaultyWebServiceService.jar" basedir="${servicejars.dir}/FaultyWebServiceService" />
                                <delete dir="${servicejars.dir}/FaultyWebServiceService" />

                                <copy toDir="${servicejars.dir}/FaultsService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/faultsservice/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/faultsservice">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/FaultsService.jar" basedir="${servicejars.dir}/FaultsService" />
                                <delete dir="${servicejars.dir}/FaultsService" />

                                <copy toDir="${servicejars.dir}/BareDocLitService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/doclitbare/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/doclitbare">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/BareDocLitService.jar" basedir="${servicejars.dir}/BareDocLitService" />
                                <delete dir="${servicejars.dir}/BareDocLitService" />

                                <copy toDir="${servicejars.dir}/BareDocLitNoArgService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/doclitbarenoarg/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/doclitbarenoarg">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/BareDocLitNoArgService.jar" basedir="${servicejars.dir}/BareDocLitNoArgService" />
                                <delete dir="${servicejars.dir}/BareDocLitNoArgService" />

                                <copy toDir="${servicejars.dir}/EchoMessageService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/nonanonymous/complextype/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/nonanonymous/complextype">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/EchoMessageService.jar" basedir="${servicejars.dir}/EchoMessageService" />
                                <delete dir="${servicejars.dir}/EchoMessageService" />

                                <copy toDir="${servicejars.dir}/ResourceInjectionService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/resourceinjection/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/resourceinjection">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/ResourceInjectionService.jar" basedir="${servicejars.dir}/ResourceInjectionService" />
                                <delete dir="${servicejars.dir}/ResourceInjectionService" />

                                <copy toDir="${servicejars.dir}/AnyTypeMessageService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/anytype/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/anytype">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/AnyTypeMessageService.jar" basedir="${servicejars.dir}/AnyTypeMessageService" />
                                <delete dir="${servicejars.dir}/AnyTypeMessageService" />

                                <copy toDir="${servicejars.dir}/MessageContextService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/context/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/context">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/MessageContextService.jar" basedir="${servicejars.dir}/MessageContextService" />
                                <delete dir="${servicejars.dir}/MessageContextService" />

                                <copy toDir="${servicejars.dir}/PolymorphicShapeService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/polymorphic/shape/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/polymorphic/shape">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/PolymorphicShapeService.jar" basedir="${servicejars.dir}/PolymorphicShapeService" />
                                <delete dir="${servicejars.dir}/PolymorphicShapeService" />

                                <copy toDir="${servicejars.dir}/RPCLitEnumService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/rpclit/enumtype/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/rpclit/enumtype">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/RPCLitEnumService.jar" basedir="${servicejars.dir}/RPCLitEnumService" />
                                <delete dir="${servicejars.dir}/RPCLitEnumService" />

                                <copy toDir="${servicejars.dir}/RPCLitStringArrayService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/rpclit/stringarray/**" />
                                        <include name="org/test/rpclit/stringarray/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/rpclit/stringarray/">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/RPCLitStringArrayService.jar" basedir="${servicejars.dir}/RPCLitStringArrayService" />
                                <delete dir="${servicejars.dir}/RPCLitStringArrayService" />


                                <copy toDir="${servicejars.dir}/BareDocLitMinService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/doclitbaremin/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/doclitbaremin/">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/BareDocLitMinService.jar" basedir="${servicejars.dir}/BareDocLitMinService" />
                                <delete dir="${servicejars.dir}/BareDocLitMinService" />

                                <copy toDir="${servicejars.dir}/StringListService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/stringlist/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/stringlist/">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>
                                <jar destfile="${servicejars.dir}/StringListService.jar" basedir="${servicejars.dir}/StringListService" />
                                <delete dir="${servicejars.dir}/StringListService" />
                                
                                <copy toDir="${servicejars.dir}/SOAPBindingProviderService/">
                                    <fileset dir="target/test-classes">
                                       <include name="org/apache/axis2/jaxws/provider/soapbinding/SOAPBindingProvider**" />
                                    </fileset>
                                </copy>
                                <jar destfile="${servicejars.dir}/SOAPBindingProviderService.jar" basedir="${servicejars.dir}/SOAPBindingProviderService" />
                                
                                <delete dir="${servicejars.dir}/SOAPBindingProviderService" />
                                
                                <copy toDir="${servicejars.dir}/SOAPBindingStringProviderService/">
                                    <fileset dir="target/test-classes">
                                       <include name="org/apache/axis2/jaxws/provider/soapbinding/string/**" />
                                    </fileset>
                                </copy>
                                
                                <jar destfile="${servicejars.dir}/SOAPBindingStringProviderService.jar" basedir="${servicejars.dir}/SOAPBindingStringProviderService" />
                                <delete dir="${servicejars.dir}/SOAPBindingStringProviderService" />
                                
                                <copy toDir="${servicejars.dir}/SoapMessageProviderService/">
                                    <fileset dir="target/test-classes">
                                       <include name="org/apache/axis2/jaxws/provider/soapbinding/soapmsg/**" />
                                    </fileset>
                                </copy>
                                <jar destfile="${servicejars.dir}/SoapMessageProviderService.jar" basedir="${servicejars.dir}/SoapMessageProviderService" />
                                <delete dir="${servicejars.dir}/SoapMessageProviderService" />
                                
                                <copy toDir="${servicejars.dir}/HandlerHeaderService/">
                                    <fileset dir="target/test-classes">
                                       <include name="org/apache/axis2/jaxws/handler/header/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/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="src/test/java">
                                        <include name="org/apache/axis2/jaxws/handler/header/handler.xml" />
                                    </fileset>
                                </copy>
                                
                                <jar destfile="${servicejars.dir}/HandlerHeaderService.jar" basedir="${servicejars.dir}/HandlerHeaderService" />
                                
                                <delete dir="${servicejars.dir}/HandlerHeaderService" />
                                
                                <copy toDir="${servicejars.dir}/ProcessDocumentService/">
                                    <fileset dir="target/test-classes">
                                       <include name="org/apache/axis2/jaxws/sample/mtomfeature/**" />
                                    </fileset>
                                    <fileset dir="src/test/java/org/apache/axis2/jaxws/sample/mtomfeature/">
                                       <include name="META-INF/**" />
                                    </fileset>
                                </copy>
                                <jar destfile="${servicejars.dir}/ProcessDocumentService.jar" basedir="${servicejars.dir}/ProcessDocumentService" />
                                
                                <delete dir="${servicejars.dir}/ProcessDocumentService" />
                                
                                <copy toDir="${servicejars.dir}/JAXBStringService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/jaxb/string/**" />
                                    </fileset>
                                </copy>

                                <jar destfile="${servicejars.dir}/JAXBStringService.jar" basedir="${servicejars.dir}/JAXBStringService" />
                                        
                                <delete dir="${servicejars.dir}/JAXBStringService" />
                                
                                <copy toDir="${servicejars.dir}/OMProviderService/">
                                    <fileset dir="target/test-classes">
                                       <include name="org/apache/axis2/jaxws/provider/om/**" />
                                    </fileset>
                                </copy>
                                <jar destfile="${servicejars.dir}/OMProviderService.jar" basedir="${servicejars.dir}/OMProviderService" />
                                <delete dir="${servicejars.dir}/OMProviderService" />
                                <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>
                <artifactId>maven-surefire-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <argLine>-Xms256m -Xmx512m -Xbootclasspath/p:${jaxws.bootclasspath}</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>**/*Test.java</include>
                        <include>**/*Tests.java</include>
                    </includes>
                    <systemProperties>
                        <property>
                            <name>javax.xml.accessExternalSchema</name>
                            <value>all</value>
                        </property>
                        <property>
                            <name>OASISCatalogManager.catalog.debug.level</name>
                            <value>0</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>
                        <!-- Prevent Mac OS X from showing an icon in the dock during the test run -->
                        <property>
                            <name>java.awt.headless</name>
                            <value>true</value>
                        </property>
                        <property>
                            <name>org.apache.axis2.transport.http.server.fastShutdown</name>
                            <value>true</value>
                        </property>
                    </systemProperties>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
