<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]>    <html class="no-js ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]>    <html class="no-js ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">

  <!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
       Remove this if you use the .htaccess -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>ProxyConnectorService</title>

  <!-- Mobile viewport optimized: j.mp/bplateviewport -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- CSS: implied media="all" -->
  <link rel="stylesheet" href="css/style.css?v=2">
  <link rel="stylesheet" href="css/prettify.css">

  <!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
  <script src="js/libs/modernizr-1.7.min.js"></script>

</head>

<body class="home">

  <div class="container">
    <header>
      <div id="header" class="column first last span-20">
        <div id="site-name" class="column span-18 append-1 prepend-1 first last"><a href="index.html">ProxyConnectorService</a></div>
        <div id="primary" class="column span-18 append-1 prepend-1 first last">
          <ul class="navigation">
            <li id="nav-rest"><a href="rest.html">REST</a></li>
            <li id="nav-data"><a href="model.html">Data Model</a></li>
          </ul>
        </div>
        <div>
          <ul class="xbreadcrumbs" id="breadcrumbs">
            <li>
              <a href="index.html" class="home">Home</a> &gt;
            </li>
            <li>
              <a href="rest.html">REST</a> &gt;
              <ul>
                <li><a href="model.html">Data Model</a></li>
                <li><a href="rest.html">REST</a></li>
              </ul>
            </li>
            <li class="current">
              <a href="resource_ProxyConnectorService.html">ProxyConnectorService</a>
              <ul>
                <li><a href="resource_SystemStatusService.html">SystemStatusService</a></li>
                <li><a href="resource_ArchivaAdministrationService.html">ArchivaAdministrationService</a></li>
                <li><a href="resource_RemoteRepositoriesService.html">RemoteRepositoriesService</a></li>
                <li><a href="resource_ReportRepositoriesService.html">ReportRepositoriesService</a></li>
                <li><a href="resource_ManagedRepositoriesService.html">ManagedRepositoriesService</a></li>
                <li><a href="resource_PluginsService.html">PluginsService</a></li>
                <li><a href="resource_PingService.html">PingService</a></li>
                <li><a href="resource_RepositoryGroupService.html">RepositoryGroupService</a></li>
                <li><a href="resource_ProxyConnectorService.html">ProxyConnectorService</a></li>
                <li><a href="resource_RepositoriesService.html">RepositoriesService</a></li>
                <li><a href="resource_ArchivaRuntimeConfigurationService.html">ArchivaRuntimeConfigurationService</a></li>
                <li><a href="resource_MergeRepositoriesService.html">MergeRepositoriesService</a></li>
                <li><a href="resource_ProxyConnectorRuleService.html">ProxyConnectorRuleService</a></li>
                <li><a href="resource_SearchService.html">SearchService</a></li>
                <li><a href="resource_CommonServices.html">CommonServices</a></li>
                <li><a href="resource_RedbackRuntimeConfigurationService.html">RedbackRuntimeConfigurationService</a></li>
                <li><a href="resource_BrowseService.html">BrowseService</a></li>
                <li><a href="resource_NetworkProxyService.html">NetworkProxyService</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </header>
    <div id="main" class="column first last span-20">
      <h1>ProxyConnectorService</h1>

      <p><b>No update method for changing source and target here as id is : sourceRepoId and targetRepoId, use delete then add.</b></p>
      <p>The following resources are part of this group:</p>
      <ul>
        <li><a href="#path__proxyConnectorService_addProxyConnector.html">/proxyConnectorService/addProxyConnector</a></li>
        <li><a href="#path__proxyConnectorService_allPolicies.html">/proxyConnectorService/allPolicies</a></li>
        <li><a href="#path__proxyConnectorService_deleteProxyConnector.html">/proxyConnectorService/deleteProxyConnector</a></li>
        <li><a href="#path__proxyConnectorService_getProxyConnector.html">/proxyConnectorService/getProxyConnector</a></li>
        <li><a href="#path__proxyConnectorService_getProxyConnectors.html">/proxyConnectorService/getProxyConnectors</a></li>
        <li><a href="#path__proxyConnectorService_removeProxyConnector.html">/proxyConnectorService/removeProxyConnector</a></li>
        <li><a href="#path__proxyConnectorService_updateProxyConnector.html">/proxyConnectorService/updateProxyConnector</a></li>
      </ul>
      <a name="path__proxyConnectorService_addProxyConnector.html"></a>
      <h1>/proxyConnectorService/addProxyConnector</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/addProxyConnector">/restServices/proxyConnectorService/addProxyConnector</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="POST"></a>
      <h2>POST</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_proxyConnector.html">proxyConnector</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__proxyConnectorService_allPolicies.html"></a>
      <h1>/proxyConnectorService/allPolicies</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/allPolicies">/restServices/proxyConnectorService/allPolicies</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__proxyConnectorService_deleteProxyConnector.html"></a>
      <h1>/proxyConnectorService/deleteProxyConnector</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/deleteProxyConnector">/restServices/proxyConnectorService/deleteProxyConnector</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="POST"></a>
      <h2>POST</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_proxyConnector.html">proxyConnector</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__proxyConnectorService_getProxyConnector.html"></a>
      <h1>/proxyConnectorService/getProxyConnector</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/getProxyConnector">/restServices/proxyConnectorService/getProxyConnector</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>sourceRepoId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>targetRepoId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_proxyConnector.html">proxyConnector</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__proxyConnectorService_getProxyConnectors.html"></a>
      <h1>/proxyConnectorService/getProxyConnectors</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/getProxyConnectors">/restServices/proxyConnectorService/getProxyConnectors</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__proxyConnectorService_removeProxyConnector.html"></a>
      <h1>/proxyConnectorService/removeProxyConnector</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/removeProxyConnector">/restServices/proxyConnectorService/removeProxyConnector</a></p>
      <a name="GET"></a>
      <h2>GET</h2>
      <p class="note">Available Since: 1.4-M3</p>
      <h3>Parameters</h3>
      <table>
        <tr>
          <th>name</th>
          <th>description</th>
          <th>type</th>
          <th>default</th>
        </tr>
        <tr>
          <td>sourceRepoId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
        <tr>
          <td>targetRepoId</td>
          <td>
            (no documentation provided)
          </td>
          <td>query</td>
          <td></td>
        </tr>
      </table>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <a name="path__proxyConnectorService_updateProxyConnector.html"></a>
      <h1>/proxyConnectorService/updateProxyConnector</h1>
      <p class="note">Mount Point: <a href="../restServices/proxyConnectorService/updateProxyConnector">/restServices/proxyConnectorService/updateProxyConnector</a></p>
      <p class="note">Available Since: 1.4-M1</p>
      <a name="POST"></a>
      <h2>POST</h2>
      <p class="note">Available Since: 1.4-M1</p>
      <p>
            <b>only for enabled/disable or changing bean values except target/source</b>
          </p>
      <h3>Request Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td><a href="el_ns0_proxyConnector.html">proxyConnector</a></td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>
      <h3>Response Body</h3>
      <table>
        <tr>
          <td align="right">element:</td>
          <td>(custom)</td>
        </tr>
        <tr>
          <td align="right">media types:</td>
          <td>application/xml<br/>text/plain<br/>application/json</td>
        </tr>
      </table>
      <p>(no documentation provided)</p>

      <div class="clear" />
    </div>
    <footer>
      <div id="footer">
        Generated by <a href="http://enunciate.codehaus.org">Enunciate</a>.
      </div>
    </footer>
  </div> <!--! end of #container -->

  <!-- JavaScript at the bottom for fast page loading -->

  <!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if necessary -->
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
  <script>window.jQuery || document.write("<script src='js/libs/jquery-1.5.1.min.js'>\x3C/script>")</script>

  <!--manage the navigation menu-->
  <script src="js/libs/xbreadcrumbs.js"></script>
  <script>
    $(function() {
      $('#breadcrumbs').xBreadcrumbs();
    });
  </script>


  <!-- prettify code blocks. see http://code.google.com/p/google-code-prettify/ -->
  <script src="js/libs/prettify/prettify.js"></script>
  <script>
    $(function() {
      prettyPrint();
    });
  </script>

  <!--[if lt IE 7 ]>
    <script src="js/libs/dd_belatedpng.js"></script>
    <script>DD_belatedPNG.fix("img, .png_bg"); // Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb </script>
  <![endif]-->

</body>
</html>