<?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>
        <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>
                <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-client-repo</id>
                        <phase>generate-test-resources</phase>
                        <goals>
                            <goal>create-test-repository</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/client-repo</outputDirectory>
                            <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>test/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}/test/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}/test/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}/test/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}/test/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}/test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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}/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>

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

                                <copy toDir="${servicejars.dir}/SOAP12EchoService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/proxy/soap12/**" />
                                    </fileset>
                                    <fileset dir="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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}/AsyncService2/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/asyncdoclit/**" />
                                    </fileset>
                                    <fileset dir="test/org/apache/axis2/jaxws/sample/asyncdoclit/server">
                                        <include name="META-INF/**" />
                                    </fileset>
                                </copy>

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

                                <copy toDir="${servicejars.dir}/FaultyWebServiceService/">
                                    <fileset dir="target/test-classes">
                                        <include name="org/apache/axis2/jaxws/sample/faults/**" />
                                    </fileset>
                                    <fileset dir="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="test/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="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>
                                
                                <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="test/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>
                    <forkMode>pertest</forkMode>
                    <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>
                        <!-- Need this for the client side to pickup an axis2.xml to configure SoapMessageMUProviderChecker -->
                        <property>
                            <name>org.apache.axis2.jaxws.config.path</name>
                            <value>./target/test-classes/axis2.xml</value>
                        </property>
                        <!-- Need this for the client side to pickup the addressing mar -->
                        <property>
                            <name>org.apache.axis2.jaxws.repo.path</name>
                            <value>./target/client-repo</value>
                        </property>
                        <!-- Prevent Mac OS X from showing an icon in the dock during the test run -->
                        <property>
                            <name>java.awt.headless</name>
                            <value>true</value>
                        </property>
                        <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>
