<?xml version="1.0"?>
<!--
* 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>
  <pomVersion>3</pomVersion>

  <!-- a unique name for this project -->
  <name>Apache Axis2/C</name>
  <id>axis2c</id>
  <groupId>axis2c</groupId>
  <currentVersion>${axis2_version}</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>2005</inceptionYear>
  <logo>http://axis.apache.org/axis2/java/core/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>Axis2 C</shortDescription>
  <!-- the project home page -->
  <url>http://axis.apache.org/axis2/c/core/</url>
  <issueTrackingUrl>http://issues.apache.org/jira/browse/AXIS2C</issueTrackingUrl>
  <siteAddress>axis.apache.org/axis2/c/core/</siteAddress>
  <siteDirectory>/www/axis.apache.org/axis2/c/core</siteDirectory>
  <repository>
       <connection>scm|svn|http://svn.apache.org/repos/asf/axis/axis2/c/core/trunk</connection>
       <developerConnection>scm|svn|https://svn.apache.org/repos/asf/axis/axis2/c/core/trunk</developerConnection>
       <url>https://svn.apache.org/repos/asf/axis/axis2/c/core/trunk</url>
       </repository>
  <mailingLists>
    <mailingList>
      <name>Axis C Developer List</name>
      <subscribe>c-dev-subscribe@axis.apache.org?subject=subscribe</subscribe>
      <unsubscribe>c-dev-unsubscribe@axis.apache.org?subject=unsubscribe</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/axis-c-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Axis C User List</name>
      <subscribe>c-user-subscribe@axis.apache.org?subject=subscribe</subscribe>
      <unsubscribe>c-user-unsubscribe@axis.apache.org?subject=unsubscribe</unsubscribe>
      <archive>http://mail-archives.apache.org/mod_mbox/axis-c-user/</archive>
    </mailingList>
	 <mailingList>
            <name>CVS Commit Message List</name>
            <subscribe>c-commits-subscribe@axis.apache.org</subscribe>
            <unsubscribe>c-commits-unsubscribe@axis.apache.org</unsubscribe>
            <post>c-commits@axis.apache.org</post>
			<archive>http://mail-archives.apache.org/mod_mbox/axis-c-commits/</archive>
        </mailingList>
  </mailingLists>
  
  <!-- ========== -->
  <!-- Developers -->
  <!-- ========== -->
  <developers>
    <developer>
      <name>Samisa Abeysinghe</name>
      <id>samisa</id>
      <email>samisa AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Dushshantha Chandradasa</name>
      <id>dushshantha</id>
      <email>dushshantha AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Chris Darroch</name>
      <id>chrisd</id>
      <email>chrisd AT pearsoncmg DOT com</email>
      <organization>Pearson Education Core Technology Group</organization>
    </developer>
    <developer>
      <name>Senaka Fernando</name>
      <id>senaka</id>
      <email>senaka AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>    
    <developer>
      <name>Paul Fremantle</name>
      <id>pzf</id>
      <email>paul AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Dimuthu Gamage</name>
      <id>dimuthu</id>
      <email>dimuthuc AT gmail DOT com</email>
      <organization>Univerisity of Moratuwa</organization>
    </developer>
    <developer>
      <name>Sahan Gamage</name>
      <id>sahan</id>
      <email>sahans AT gmail DOT com</email>
      <organization>Purdue University</organization>
    </developer>
    <developer>
      <name>Lahiru Gunathilake</name>
      <id>lahiru</id>
      <email>glahiru@gmail.com</email>
      <organization>University of Moratuwa</organization>
    </developer>
    <developer>
      <name>Nandika Jayawardana</name>
      <id>nandika</id>
      <email>nandika AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Supun Kamburugamuva</name>
      <id>supun</id>
      <email>supun06 AT gmail DOT com</email>
      <organization>Univerisity of Moratuwa</organization>
    </developer>
    <developer>
      <name>Kaushalye Kapuruge</name>
      <id>kaushalye</id>
      <email>kaushalye AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Damitha Kumarage</name>
      <id>damitha</id>
      <email>damitha AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Bill Mitchell</name>
      <id>bmitchell</id>
      <email>wtmitchell3 AT acm DOT org </email>
      <organization></organization>
    </developer>   
    <developer>
      <name>Danushka Menikkumbura</name>
      <id>danushka</id>
      <email>danushka AT wso2 DOT com</email>
      <organization></organization>
    </developer> 
    <developer>
      <name>Diluka Moratuwage</name>
      <id>diluka</id>
      <email>diluka AT wso2 DOT com</email>
      <organization></organization>
    </developer>  
    <developer>
      <name>Dumindu Pallewela</name>
      <id>dumindu</id>
      <email>dumindu AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Milinda Pathirage</name>
      <id>milinda</id>
      <email>milinda DOT pathirage AT gmail DOT com</email>
      <organization>Univerisity of Moratuwa</organization>
    </developer>
    <developer>
      <name>Manjula Peiris</name>
      <id>manjula</id>
      <email>manjula AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Dinesh Premalal</name>
      <id>dinesh</id>
      <email>dinesh AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Sanjaya Rathnaweera</name>
      <id>pini</id>
      <email>sanjaya AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Davanum Srinivas</name>
      <id>dims</id>
      <email>davanum AT gmail DOT com</email>
      <organization> </organization>
    </developer>
    <developer>
      <name>Sanjiva Weerawarana</name>
      <id>sanjiva</id>
      <email>sanjiva AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>
    <developer>
      <name>Nabeel Yoosuf</name>
      <id>nabeel</id>
      <email>nabeel DOT yoosuf AT gmail DOT com</email>
      <organization>Purdue University</organization>
    </developer>    
    <developer>
      <name>Selvaratnam Uthaiyashankar</name>
      <id>shankar</id>
      <email>shankar AT wso2 DOT com</email>
      <organization>WSO2</organization>
    </developer>    
  </developers>
  <contributors>
    <contributor>
      <name>James Clark</name>
      <email>jjc AT public DOT jclark DOT com</email>
      <roles>
	<role>Technical Adviser on Building a Portable/Re-usable C library</role>
      </roles>
    </contributor>
    <contributor>
      <name>Spencer Davis</name>
      <email>spencerdavis91 AT gmail DOT com</email>
      <roles>
	<role>Composing Axis2/C FAQ Documentation</role>
      </roles>
    </contributor>
    <contributor>
      <name>Alastair FETTES</name>
      <email>afettes AT mdacorporation DOT com</email>
      <roles>
	<role>Suggestion to improve API and several inputs through JIRA</role>
      </roles>
    </contributor>
    <contributor>
      <name>Frederic Heem</name>
      <email>frederic DOT heem AT telsey DOT it</email>
      <roles>
        <role>Suggestions for improvements through Jiras and Bug fixes</role>
      </roles>
    </contributor>
    <contributor>
      <name>Rajika Kumarasiri</name>
      <email>rajikacc AT gmail DOT com</email>
      <roles>
        <role>Bug Fixes</role>
      </roles>
    </contributor>
    <contributor>
      <name>Manoj Pushpakumara</name>
      <email>manaj AT wso2 DOT com</email>
      <roles>
	<role>Improvements to the Unit Test cases</role>
      </roles>
    </contributor>
    <contributor>
      <name>Buddhika Semashinghe</name>
      <email>buddhika AT wso2 DOT com</email>
      <roles>
	<role>Helps to improve overall quality of the code base</role>
      </roles>
    </contributor>
    <contributor>
      <name>Varuna Jayasiri</name>
      <email>vpjayasiri AT gmail DOT com</email>
      <roles>
	<role>Axiom XPath implementation</role>
      </roles>
    </contributor>
    <contributor>
      <name>Nikola Tankovic</name>
      <email>nikola DOT tankovic AT gmail DOT com</email>
      <roles>
	<role>CGI deployment support</role>
      </roles>
    </contributor>  </contributors>

  <!-- ################################################################ -->
  <!--        Project dependency section                                -->
  <!-- ################################################################ -->

  <dependencies/>


  <!-- ################################################################ -->
  <!--        Project build and reports section                         -->
  <!-- ################################################################ -->

  <build>

    <nagEmailAddress>axis-c-dev@apache.org</nagEmailAddress>
    <sourceDirectory>${basedir}/src</sourceDirectory>
    <unitTestSourceDirectory>${basedir}/src/test</unitTestSourceDirectory>

    <unitTest>
      <includes>
	<include>**/_test*.c</include>
      </includes>
      <excludes>
	<exclude>**/*Test*All.c</exclude>
      </excludes>
    </unitTest>

    <resources/>  <!-- (OPTIONAL) Resources packaged inside the JAR file. -->

  </build>

  <reports>
    <report>maven-changes-plugin</report>
  </reports>

</project>
