<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">










<html>
  <head>
    <title>Apache Rampart - Project Mailing Lists</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      </head>
  <body class="composite">
    <div id="banner">
                  <a href="images/apache-rampart-logo.jpg" id="bannerLeft">
    
            Apache Rampart
    
            </a>
                        <a href="http://www.apache.org" id="bannerRight">
    
                                            <img src="images/apache-rampart-banner.jpg" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
            <div class="xleft">
        Last Published: 26 Apr 2012
                      </div>
            <div class="xright">      <a href="http://axis.apache.org/axis2/java/core/">Apache Axis2/Java</a>
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
                   <h5>Apache Rampart</h5>
        <ul>
              
    <li class="none">
              <a href="index.html">Home</a>
        </li>
              
          
              
      
            
      
              
        <li class="expanded">
              <a href="">Downloads</a>
                <ul>
                  
    <li class="none">
              <a href="download.html">Releases</a>
        </li>
                  
    <li class="none">
              <a href="svn.html">Source Code</a>
        </li>
              </ul>
        </li>
          </ul>
          <h5>Documentation</h5>
        <ul>
              
    <li class="none">
              <a href="quick-start.html">Getting Started</a>
        </li>
              
    <li class="none">
              <a href="samples.html">Samples</a>
        </li>
              
    <li class="none">
              <a href="http://wiki.apache.org/ws/FrontPage/Rampart/FAQ">FAQ</a>
        </li>
              
    <li class="none">
              <a href="rampartconfig-guide.html">Rampart Configuration</a>
        </li>
              
    <li class="none">
              <a href="setting-up-sts.html">STS Configuration</a>
        </li>
              
    <li class="none">
              <a href="developer-guide.html">Developer Guide</a>
        </li>
              
    <li class="none">
              <a href="siteHowTo.html">Build the Site</a>
        </li>
          </ul>
          <h5>Resources</h5>
        <ul>
              
    <li class="none">
              <a href="articles.html">Articles</a>
        </li>
              
    <li class="none">
              <a href="specifications.html">Specifications</a>
        </li>
              
    <li class="none">
              <a href="apidocs/index.html">Online Javadocs</a>
        </li>
          </ul>
          <h5>Project Information</h5>
        <ul>
              
    <li class="none">
              <a href="team-list.html">Project Team</a>
        </li>
              
    <li class="none">
              <a href="http://issues.apache.org/jira/browse/Rampart">Issue Tracking</a>
        </li>
              
    <li class="none">
              <strong>Mailing Lists</strong>
        </li>
              
    <li class="none">
              <a href="http://svn.apache.org/viewvc/axis/axis2/java/rampart/">Source Code</a>
        </li>
              
    <li class="none">
              <a href="dependencies.html">Dependencies</a>
        </li>
              
    <li class="none">
              <a href="http://www.apache.org/licenses/LICENSE-2.0.html">License</a>
        </li>
          </ul>
                                       <a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <a name="Project_Mailing_Lists"></a><div class="section"><h2>Project 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"><tr class="a"><th>Name</th><th>Subscribe</th><th>Unsubscribe</th><th>Post</th><th>Archive</th><th>Other Archives</th></tr><tr class="b"><td>Rampart Developers</td><td><a href="mailto:java-dev-subscribe@axis.apache.org">Subscribe</a></td><td><a href="mailto:java-dev-unsubscribe@axis.apache.org">Unsubscribe</a></td><td><a href="mailto:java-dev@axis.apache.org">Post</a></td><td><a href="http://mail-archives.apache.org/mod_mbox/axis-java-dev/">mail-archives.apache.org</a></td><td><a href="http://markmail.org/search/list:org.apache.ws.rampart-dev">markmail.org</a></td></tr></table></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2005-2012
    
          Apache Software Foundation
          
  

  
    
  
  
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
