<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">











<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Axis2 Transports - Source Repository</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="../transports" id="bannerLeft">
    
            
    
            </a>
                        <a href="http://www.apache.org" id="bannerRight">
    
                                            <img src="images/asfLogo.jpg" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
    
            <div class="xleft">
        Last Published: 07 Dec 2009
                      </div>
            <div class="xright">            <a href="http://www.apache.org/" class="externalLink">Apache</a>
            |
                <a href="../../">WebServices</a>
            |
                <a href="../">Commons</a>
            |
                <a href="../../axis2/">Axis2</a>
            |
                <a href="http://synapse.apache.org/" class="externalLink">Synapse</a>
            
  

  
    
  
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
    
                   <h5>Axis2 Transports</h5>
            <ul>
              
    <li class="none">
                    <a href="index.html">About</a>
          </li>
              
          
              
      
            
            
              
            <li class="expanded">
                    <a href="download_index.html">Downloads</a>
                  <ul>
                  
    <li class="none">
                    <a href="download.cgi">Releases</a>
          </li>
                  
    <li class="none">
              <strong>Source Code</strong>
        </li>
              </ul>
        </li>
              
          
              
      
            
      
            
      
            
      
            
      
              
        <li class="expanded">
                    <a href="docs_index.html">Documentation</a>
                  <ul>
                  
    <li class="none">
                    <a href="jms.html">JMS Transport</a>
          </li>
                  
    <li class="none">
                    <a href="mail.html">Mail Transport</a>
          </li>
                  
    <li class="none">
                    <a href="tcp-transport.html">TCP Transport</a>
          </li>
                  
    <li class="none">
                    <a href="sms.html">SMS Transport</a>
          </li>
                  
    <li class="none">
                    <a href="apidocs/index.html">Java Doc</a>
          </li>
              </ul>
        </li>
              
          
              
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
              
        <li class="expanded">
                    <a href="project-info.html">Project Information</a>
                  <ul>
                  
    <li class="none">
                    <a href="mail-lists.html">Mailing Lists</a>
          </li>
                  
    <li class="none">
                    <a href="building.html">Building</a>
          </li>
                  
    <li class="none">
                    <a href="issue-tracking.html">Issue Tracking</a>
          </li>
                  
    <li class="none">
                    <a href="dependencies.html">Dependencies</a>
          </li>
                  
    <li class="none">
                    <a href="dependency-convergence.html">Dependency Convergence</a>
          </li>
                  
    <li class="none">
                    <a href="dependency-management.html">Dependency Management</a>
          </li>
                  
    <li class="none">
                    <a href="plugins.html">Plugins</a>
          </li>
                  
    <li class="none">
                    <a href="plugin-management.html">Plugin Management</a>
          </li>
                  
    <li class="none">
                    <a href="team-list.html">Project Team</a>
          </li>
                  
    <li class="none">
                    <a href="project-summary.html">Project Summary</a>
          </li>
              </ul>
        </li>
          </ul>
                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
            <img alt="Built by Maven" src="./images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
    
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2>Overview</h2>
This project uses <a href="http://subversion.tigris.org/" class="externalLink">Subversion</a> to manage its source code. Instructions on Subversion use can be found at <a href="http://svnbook.red-bean.com/" class="externalLink">http://svnbook.red-bean.com/</a>.</div>
<div class="section"><h2>Web Access</h2>
<p>The following is a link to the online source repository.</p>
<div class="source"><pre><a href="http://svn.apache.org/viewcvs.cgi/webservices/commons/trunk/modules/transport" class="externalLink">http://svn.apache.org/viewcvs.cgi/webservices/commons/trunk/modules/transport</a></pre>
</div>
</div>
<div class="section"><h2>Anonymous access</h2>
<p>The source can be checked out anonymously from SVN with this command:</p>
<div class="source"><pre>$ svn checkout http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport axis2-transports</pre>
</div>
</div>
<div class="section"><h2>Developer access</h2>
<p>Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS.</p>
<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport axis2-transports</pre>
</div>
<p>To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)</p>
<div class="source"><pre>$ svn commit --username your-username -m &quot;A message&quot;</pre>
</div>
</div>
<div class="section"><h2>Access from behind a firewall</h2>
<p>For those users who are stuck behind a corporate firewall which is blocking HTTP access to the Subversion repository, you can try to access it via the developer connection:</p>
<div class="source"><pre>$ svn checkout https://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport axis2-transports</pre>
</div>
</div>
<div class="section"><h2>Access through a proxy</h2>
<p>The Subversion client can go through a proxy, if you configure it to do so. First, edit your &quot;servers&quot; configuration file to indicate which proxy to use. The file's location depends on your operating system. On Linux or Unix it is located in the directory &quot;~/.subversion&quot;. On Windows it is in &quot;%APPDATA%\Subversion&quot;. (Try &quot;echo %APPDATA%&quot;, note this is a hidden directory.)</p>
<p>There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.</p>
<p>Example: Edit the 'servers' file and add something like:</p>
<div class="source"><pre>[global]
http-proxy-host = your.proxy.name
http-proxy-port = 3128
</pre>
</div>
</div>

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2004-2009
    
          The Apache Software Foundation
          
  

  
    
  
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
