<html>
<head>
    <title>Mailing Lists and Issue Tracking</title>
</head>

<body>
	     <a name="Mailing_Lists"></a><h2>Mailing
	      Lists</h2><p>These are the mailing lists that have been established for
	      this project.  For each list, there is a subscribe, unsubscribe,
	      and an archive link.
      </p><table class="bodyTable"><thead>
		 <tr class="b"><th>List
		     Name</th><th>Subscribe</th><th>Unsubscribe</th><th>Archive</th></tr>
               </thead><tbody>
                 <tr class="a"><td>Axis C Developer List</td><td>
		     <a
			href="mailto:axis-c-dev-subscribe@ws.apache.org?subject=subscribe">Subscribe</a>
		   </td><td>
		     <a
			href="mailto:axis-c-dev-unsubscribe@ws.apache.org?subject=unsubscribe">Unsubscribe</a>
		   </td><td>
		     <a
			href="http://marc.theaimsgroup.com/?l=axis-c-dev&amp;r=1&amp;w=2"
			class="externalLink" title="External Link">Archive</a>
		 </td></tr>
                 <tr class="b"><td>Axis C User List</td><td>
		     <a
			href="mailto:axis-c-user-subscribe@ws.apache.org?subject=subscribe">Subscribe</a>
		   </td><td>
		     <a
			href="mailto:axis-c-user-unsubscribe@ws.apache.org?subject=unsubscribe">Unsubscribe</a>
		   </td><td>
		     <a
			href="http://marc.theaimsgroup.com/?l=axis-c-user&amp;r=1&amp;w=2"
			class="externalLink" title="External Link">Archive</a>
		 </td></tr>
</tbody></table>
<h2>Issue Tracking</h2><p>
      <a href="http://issues.apache.org/jira/browse/AXIS2C" class="externalLink" title="External Link">http://issues.apache.org/jira/browse/AXIS2C</a></p>

<h2>Svn Location</h2><p>
<a href="https://svn.apache.org/repos/asf/webservices/axis2/trunk/c">https://svn.apache.org/repos/asf/webservices/axis2/trunk/c</a></p>
</body>
</html>
