<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
<name>Axis2.0</name>
  <pomVersion>3</pomVersion>
  <!-- a unique name for this project -->

  <groupId>axis</groupId>
  
  
  <currentVersion>M2</currentVersion>
  
  <!-- details about the organization that 'owns' the project -->
  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org/</url>
    <logo>http://www.apache.org/images/asf-logo.gif</logo>
  </organization>
  
  <inceptionYear>2004</inceptionYear>
  <package>org.apache.axis</package>
  <logo>http://ws.apache.org/axis/images/axis.jpg</logo>
  <description> Axis2 is an effort to re-design and totally re-implement both Axis/Java and (eventually) Axis/C++ on a new architecture. Evolving from the now standard "handler chain" model which Axis1 pioneered, Axis2 is developing a more flexible pipeline architecture which can yet be managed and packaged in a more organized manner. This new design acknowledges the maturing of the Web services space in terms of new protocols such as WS-ReliableMessaging, WS-Security and WS-Addressing that are built on top of the base SOAP system. At the time Axis1 was designed, while it was fully expected that other protocols such as WS-ReliableMessaging would be built on top of it, there was not a proper extension architecture defined to enable clean composition of such layers. Thus, one of the key motivations for Axis2 is to provide a clean and simple environment for like Apache Sandesha and Apache WSS4J to layer on top of the base SOAP system. Another driving force for Axis2 as well as the move away from RPC oriented Web services towards more document-oriented, message style asynchronous service interactions. The Axis2 project is centered on a new representation for SOAP messages called AXIOM (AXIs Object Model). AXIOM consists of two parts: a complete XML Infoset representation and a SOAP Infoset representation on top of that. The XML Infoset representation provides a JDOM-like simple API but is built on a deferred model via a StAX-based (Streaming API for XML) pull parsing API. A key feature of AXIOM is that it allows one to stop building the XML tree and just access the pull stream directly; thus enabling both maximum flexibility and maximum performance. This approach allows us to support multiple levels of abstraction for consuming and offering Web services: using plain AXIOM, using generated code and statically data-bound data types and so on. At the time of Axis1's design, RPC-style, synchronous, request-response interactions were the order of the day for Web services. Today service interactions are much more message-oriented and exploit many different message exchange patterns. The Axis2 engine architecture is careful to not build in any assumptions of request-response patterns to ensure that it can be used easily to support arbitrary message exchange patterns.</description>
  <shortDescription>Axis 2.0</shortDescription>
  <!-- the project home page -->
  <url>http://ws.apache.org/axis2/</url>
  <issueTrackingUrl>http://nagoya.apache.org/jira/secure/BrowseProject.jspa?id=10611</issueTrackingUrl>
  <siteAddress>ws.apache.org/axis2</siteAddress>
  <siteDirectory>/www/ws.apache.org/axis2/</siteDirectory>
  <distributionDirectory>/www/ws.apache.org/builds/</distributionDirectory>
	<!-- repository>
        <connection>scm|svn|http://svn.apache.org/repos/asf/webservices/axis/trunk</connection>
        <developerConnection>scm|svn|https://svn.apache.org/repos/asf/webservices/axis/trunk</developerConnection>
        <url>http://svn.apache.org/viewcvs.cgi/webservices/axis/trunk/?root=Apache-SVN</url>
    </repository -->
  <mailingLists>
    <mailingList>
      <name>Axis Developer List</name>
      <subscribe>axis-dev-subscribe@ws.apache.org</subscribe>
      <unsubscribe>axis-dev-unsubscribe@ws.apache.org</unsubscribe>
        <archive>http://marc.theaimsgroup.com/?l=axis-dev&amp;r=1&amp;w=2</archive>

    </mailingList>
    <mailingList>
      <name>Axis User List</name>
      <subscribe>axis-user-subscribe@ws.apache.org</subscribe>
      <unsubscribe>axis-user-unsubscribe@ws.apache.org</unsubscribe>
        <archive>http://marc.theaimsgroup.com/?l=axis-user&amp;r=1&amp;w=2</archive>
    </mailingList>
  </mailingLists>

  <!-- ========== -->
  <!-- Developers -->
  <!-- ========== -->
  
  <developers>
    <developer>
      <name>Davanum Srinivas</name>
      <id>dims</id>
      <email>dims@apache.org</email>
      <organization>Computer Associates</organization>
    </developer>
    <developer>
      <name>Sanjiva Weerawarana</name>
      <id>sanjiva</id>
      <email>sanjiva@apache.org</email>
      <organization>IBM / Lanka Software Foundation</organization>
    </developer>
    <developer>
      <name>Glen Daniels</name>
      <id>gdaniels</id>
      <email>gdaniels@apache.org</email>
      <organization>Sonic Software</organization>
    </developer>
    <developer>
      <name>Aleksander Slominski</name>
      <id>alek</id>
      <email>aslom@cs.indiana.edu</email>
      <organization>Indiana University Extreme! Computing Lab</organization>
    </developer>
    <developer>
      <name>Srinath Perera</name>
      <id>hemapani</id>
      <email>hemapani@apache.org</email>
      <organization>Lanka Software Foundation</organization>
      <url>http://www.apache.org/~hemapani</url>
     </developer>
    <developer>
      <name>Eran Chinthaka</name>
      <id>chinthaka</id>
      <email>chinthaka@apache.org</email>
      <organization>Lanka Software Foundation / Eurocenter DDC</organization>
      <url>http://www.apache.org/~chinthaka</url>
    </developer>
    <developer>
      <name>Dasarath Weerathunga</name>
      <id>dasarath</id>
      <email>dasarath@opensource.lk</email>
      <organization>Lanka Software Foundation</organization>
    </developer>
    <developer>
      <name>Jaliya Ekanayake</name>
      <id>jaliya</id>
      <email>jaliya@opensource.lk</email>
      <organization>Virtusa / Lanka Software Foundation</organization>
      <url>http://www.apache.org/~jaliya</url>
    </developer>
    <developer>
      <name>Chathura Herath</name>
      <id>chathura</id>
      <email>chathura@opensource.lk</email>
      <organization>LSF/MIT</organization>
      <url>www.apache.org/~chathura</url>
    </developer>
    <developer>
	  <name>Deepal Jayasinghe</name>
      <id>deepal</id>
      <email>deepal@apache.org</email>
      <organization>Lanka Software Foundation</organization>
        <url>http://www.apache.org/~deepal</url>

    </developer>
    <developer>
      <name>Ajith Ranabahu</name>
      <id>ajith</id>
      <email>ajith@apache.org</email>
      <organization>Lanka Software Foundation / Eurocenter DDC</organization>
        <url>http://www.apache.org/~ajith</url>

    </developer>
    <developer>
      <name>Venkat Reddy</name>
      <id>venkat</id>
      <email>vreddyp@gmail.com</email>
      <organization>Computer Associates</organization>
     </developer>
     <developer>
      <name>Shahi, Ashutosh</name>
      <id>ashu</id>
      <email>Ashutosh.Shahi@ca.com</email>
      <organization>Computer Associates</organization>
     </developer>
     <developer>
      <name>Jayachandra Sekhara Rao Sunkara</name>
      <id>jaya</id>
      <email>jayachandra@gmail.com</email>
      <organization>Computer Associates</organization>
     </developer>
     <developer>
      <name>Thilina Gunarathne</name>
      <id>thilina</id>
      <email>thilina@opensource.lk</email>
      <organization>Lanka Software Foundation / Virtusa</organization>
     </developer>
     
    
  </developers>
  <contributors>
    <contributor>
      <name>Farhaan Mohideen</name>
      <email>fmohideen@valista.com</email>
      <organization>Lanka Software Foundation</organization>
    </contributor>
    <contributor>
      <name>Changshin Lee</name>
      <email>iasandcb@hotmail.com</email>
      <organization>Tmax Soft, Korea</organization>
    </contributor>
    <contributor>
      <name>Chamil Thanthrimudalige</name>
      <email>chamil@opensource.lk</email>
      <organization>Lanka Software Foundation</organization>
    </contributor>
    <contributor>
      <name>Ruchith Fernando</name>
      <email>ruchithf@apache.lk</email>
      <organization>Lanka Software Foundation</organization>
    </contributor>
    <contributor>
      <name>Nadana Gunarathna</name>
      <email>nadana@opensource.lk</email>
      <organization>Lanka Software Foundation</organization>
    </contributor>
    <contributor>
      <name>Saminda Abeyruwan</name>
      <email>saminda@opensource.lk</email>
      <organization>Lanka Software Foundation</organization>
    </contributor>
    <contributor>
      <name>Gayan Asanka</name>
      <email>gayan@opensource.lk</email>
      <organization>Lanka Software Foundation</organization>
    </contributor>
    </contributors>

  
  
  <!-- build information for the project -->
  <build>
    <nagEmailAddress>axis-dev@ws.apache.org</nagEmailAddress>
    <sourceDirectory>src</sourceDirectory>
    <unitTestSourceDirectory>test</unitTestSourceDirectory>

<!--
	<sourceModifications>
		<sourceModification>
			<className>fakeClass</className>
			<excludes>
				<exclude>org/apache/axis</exclude>
				<exclude>**/_*.java</exclude>
			</excludes>
		</sourceModification>
	</sourceModifications
-->	
    <unitTest>
    
      <excludes>
        <exclude>**/*Abstract*.java</exclude>
	    <exclude>**/*Util*.java</exclude> 
		<exclude>**/*PhaseResolvingTest.java</exclude>
      </excludes>
     <includes>
        <include>**/*Test.java</include>
      </includes> 
      
     <resources>
         <resource>
             	<directory>${basedir}/test-resources</directory>
          </resource>
          <resource>
        		<directory>conf</directory>
       			 <includes>
          			<include>**/*.properties</include>
        		</includes>
      </resource>
      <resource>
       	 	<directory>src</directory>
        	<includes>
          		<include>**/*.properties</include>
          		<include>**/*.xml</include>
			<include>**/*.xsl</include>
        	</includes>
      </resource>
      <resource>
       	 	<directory>test</directory>
        	<includes>
          		<include>**/*.properties</include>
          		<include>**/*.xml</include>
        	</includes>
      </resource>
     </resources>
    </unitTest>
    
    <resources>
      <resource>
        <directory>conf</directory>
        <includes>
          <include>**/*.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>src</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
	    <include>**/*.xsl</include>	
        </includes>
      </resource>
    </resources>
  </build>

 
    <!-- ======= -->
    <!-- Reports -->
    <!-- ======= -->

    <reports>
        <!-- report>maven-license-plugin</report>
        <report>maven-checkstyle-plugin</report>
        <report>maven-pmd-plugin</report>
        <report>maven-jdepend-plugin</report>
        <report>maven-jxr-plugin</report>
        <report>maven-javadoc-plugin</report>
        <report>maven-junit-report-plugin</report -->
        <report>maven-clover-plugin</report>
    </reports>
    
</project>

