<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-07-14 
 | Rendered using Apache Maven Fluido Skin 1.6
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20220714" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Axis2 &#x2013; </title>
    <link rel="stylesheet" href="../css/apache-maven-fluido-1.6.min.css" />
    <link rel="stylesheet" href="../css/site.css" />
    <link rel="stylesheet" href="../css/print.css" media="print" />
      <script type="text/javascript" src="../js/apache-maven-fluido-1.6.min.js"></script>
      </head>
    <body class="topBarDisabled">
      <div class="container-fluid">
      <div id="banner">
        <div class="pull-left"><a href="http://www.apache.org/" id="bannerLeft"><img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Axis2"/></a></div>
        <div class="pull-right"><a href=".././" id="bannerRight"><img src="../images/axis.jpg" /></a></div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2022-07-14<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.2<span class="divider">|</span></li>
        <li class=""><a href="http://www.apache.org" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li>
      <li class=""><a href="../index.html" title="Axis2/Java">Axis2/Java</a><span class="divider">/</span></li>
    <li class="active "></li>
        </ul>
      </div>
      <div class="row-fluid">
        <div id="leftColumn" class="span2">
          <div class="well sidebar-nav">
<ul class="nav nav-list">
          <li class="nav-header">Axis2/Java</li>
    <li><a href="../index.html" title="Home"><span class="none"></span>Home</a>  </li>
    <li><a href="../download.html" title="Downloads"><span class="none"></span>Downloads</a>  </li>
    <li><a href="javascript:void(0)" title="Release Notes"><span class="icon-chevron-down"></span>Release Notes</a>
      <ul class="nav nav-list">
    <li><a href="../release-notes/1.6.1.html" title="1.6.1"><span class="none"></span>1.6.1</a>  </li>
    <li><a href="../release-notes/1.6.2.html" title="1.6.2"><span class="none"></span>1.6.2</a>  </li>
    <li><a href="../release-notes/1.6.3.html" title="1.6.3"><span class="none"></span>1.6.3</a>  </li>
    <li><a href="../release-notes/1.6.4.html" title="1.6.4"><span class="none"></span>1.6.4</a>  </li>
    <li><a href="../release-notes/1.7.0.html" title="1.7.0"><span class="none"></span>1.7.0</a>  </li>
    <li><a href="../release-notes/1.7.1.html" title="1.7.1"><span class="none"></span>1.7.1</a>  </li>
    <li><a href="../release-notes/1.7.2.html" title="1.7.2"><span class="none"></span>1.7.2</a>  </li>
    <li><a href="../release-notes/1.7.3.html" title="1.7.3"><span class="none"></span>1.7.3</a>  </li>
    <li><a href="../release-notes/1.7.4.html" title="1.7.4"><span class="none"></span>1.7.4</a>  </li>
    <li><a href="../release-notes/1.7.5.html" title="1.7.5"><span class="none"></span>1.7.5</a>  </li>
    <li><a href="../release-notes/1.7.6.html" title="1.7.6"><span class="none"></span>1.7.6</a>  </li>
    <li><a href="../release-notes/1.7.7.html" title="1.7.7"><span class="none"></span>1.7.7</a>  </li>
    <li><a href="../release-notes/1.7.8.html" title="1.7.8"><span class="none"></span>1.7.8</a>  </li>
    <li><a href="../release-notes/1.7.9.html" title="1.7.9"><span class="none"></span>1.7.9</a>  </li>
    <li><a href="../release-notes/1.8.0.html" title="1.8.0"><span class="none"></span>1.8.0</a>  </li>
      </ul>
  </li>
    <li><a href="../modules/index.html" title="Modules"><span class="none"></span>Modules</a>  </li>
    <li><a href="../tools/index.html" title="Tools"><span class="none"></span>Tools</a>  </li>
          <li class="nav-header">Documentation</li>
    <li><a href="../docs/toc.html" title="Table of Contents"><span class="none"></span>Table of Contents</a>  </li>
    <li><a href="../docs/installationguide.html" title="Installation Guide"><span class="none"></span>Installation Guide</a>  </li>
    <li><a href="../docs/quickstartguide.html" title="QuickStart Guide"><span class="none"></span>QuickStart Guide</a>  </li>
    <li><a href="../docs/userguide.html" title="User Guide"><span class="none"></span>User Guide</a>  </li>
    <li><a href="../docs/jaxws-guide.html" title="JAXWS Guide"><span class="none"></span>JAXWS Guide</a>  </li>
    <li><a href="../docs/pojoguide.html" title="POJO Guide"><span class="none"></span>POJO Guide</a>  </li>
    <li><a href="../docs/spring.html" title="Spring Guide"><span class="none"></span>Spring Guide</a>  </li>
    <li><a href="../docs/webadminguide.html" title="Web Administrator's Guide"><span class="none"></span>Web Administrator's Guide</a>  </li>
    <li><a href="../docs/migration.html" title="Migration Guide (from Axis1)"><span class="none"></span>Migration Guide (from Axis1)</a>  </li>
          <li class="nav-header">Resources</li>
    <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a>  </li>
    <li><a href="../articles.html" title="Articles"><span class="none"></span>Articles</a>  </li>
    <li><a href="http://wiki.apache.org/ws/FrontPage/Axis2/" class="externalLink" title="Wiki"><span class="none"></span>Wiki</a>  </li>
    <li><a href="../refLib.html" title="Reference Library"><span class="none"></span>Reference Library</a>  </li>
    <li><a href="../apidocs/index.html" title="Online Java Docs"><span class="none"></span>Online Java Docs</a>  </li>
          <li class="nav-header">Get Involved</li>
    <li><a href="../overview.html" title="Overview"><span class="none"></span>Overview</a>  </li>
    <li><a href="../git.html" title="Checkout the Source"><span class="none"></span>Checkout the Source</a>  </li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a>  </li>
    <li><a href="../release-process.html" title="Release Process"><span class="none"></span>Release Process</a>  </li>
    <li><a href="../guidelines.html" title="Developer Guidelines"><span class="none"></span>Developer Guidelines</a>  </li>
    <li><a href="../siteHowTo.html" title="Build the Site"><span class="none"></span>Build the Site</a>  </li>
          <li class="nav-header">Project Information</li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a>  </li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a>  </li>
    <li><a href="http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/" class="externalLink" title="Source Code"><span class="none"></span>Source Code</a>  </li>
    <li><a href="../thanks.html" title="Acknowledgements"><span class="none"></span>Acknowledgements</a>  </li>
          <li class="nav-header">Apache</li>
    <li><a href="http://www.apache.org/licenses/LICENSE-2.0.html" class="externalLink" title="License"><span class="none"></span>License</a>  </li>
    <li><a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"><span class="none"></span>Sponsorship</a>  </li>
    <li><a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"><span class="none"></span>Thanks</a>  </li>
    <li><a href="http://www.apache.org/security/" class="externalLink" title="Security"><span class="none"></span>Security</a>  </li>
  </ul>
          <hr />
          <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
  <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a>
              </div>
          </div>
        </div>
        <div id="bodyColumn"  class="span10" >
<section>
<h2><a name="TCP_Transport"></a>TCP Transport</h2><section>
<h3><a name="Content">Content</a></h3>
<ul>
<li><a href="#TCP_Transport">TCP Transport</a>
<ul>
<li><a href="#Content">Content</a></li>
<li><a href="#Transport_listener">Transport listener</a>
<ul>
<li><a href="#Listener_configuration">Listener configuration</a></li>
<li><a href="#Endpoint_configuration">Endpoint configuration</a></li></ul></li>
<li><a href="#Transport_sender">Transport sender</a></li>
<li><a href="#Examples">Examples</a>
<ul>
<li><a href="#Enabling_TCP_listener_at_the_transport_level">Enabling TCP listener at the transport level</a></li></ul></li></ul></li></ul></section><section>
<h3><a name="Transport_listener">Transport listener</a></h3><section>
<h4><a name="Listener_configuration">Listener configuration</a></h4>
<p>The TCP transport listener is configured in <code>axis2.xml</code> using the following declaration:</p>
<div class="source"><pre class="prettyprint">&lt;transportReceiver name=&quot;tcp&quot; class=&quot;org.apache.axis2.transport.tcp.TCPTransportListener&quot;/&gt;</pre></div>
<p>Depending on how the TCP transport is set up, additional parameters may be required inside the <code>transportReceiver</code> element (see next section).</p></section><section>
<h4><a name="Endpoint_configuration">Endpoint configuration</a></h4>
<p>Endpoints can be configured both at the transport level and at the service level. Each endpoint opens a TCP server socket for listening. TCP requests received on a port that is configured on a service will be pre-dispatched to that service. Packets received by a port that is configured at the transport level need to be dispatched using one of the following mechanisms:</p>
<ol style="list-style-type: decimal">
<li>Using the namespace URI of the first child element of SOAPBody (SOAPMessageBodyBasedDispatcher).</li>
<li>Using WS-Addressing headers (SOAPActionBasedDispatcher).
<p>Endpoints are configured by adding <code>parameter</code> elements to the <code>transportReceiver</code> element in <code>axis2.xml</code> or to a <code>service</code> element in an <code>services.xml</code> file. The set of parameters is the same for both scenarios:</p>
<dl>
<dt><code>transport.tcp.port</code> (required)</dt>
<dd> The port number over which the TCP server socket should be opened.</dd>
<dt><code>transport.tcp.hostname</code> (optional)</dt>
<dd> The hostname to which the TCP server socket should be bound.</dd>
<dt><code>transport.tcp.contentType</code> (optional, defaults to text/xml)</dt>
<dd> Specifies the content type of the messages received on the endpoint.</dd>
<dt><code>transport.tcp.backlog</code> (optional, defaults to 50)</dt>
<dd> The length of the backlog (queue) supported by the TCP server socket.</dd></dl></li></ol></section></section><section>
<h3><a name="Transport_sender">Transport sender</a></h3>
<p>The TCP transport sender can be enabled in <code>axis2.xml</code> using the following declaration:</p>
<div class="source"><pre class="prettyprint">&lt;transportSender name=&quot;tcp&quot; class=&quot;org.apache.axis2.transport.tcp.TCPTransportSender&quot;/&gt;</pre></div></section><section>
<h3><a name="Examples">Examples</a></h3><section>
<h4><a name="Enabling_TCP_listener_at_the_transport_level">Enabling TCP listener at the transport level</a></h4>
<p>The following declaration in <code>axis2.xml</code> initializes a TCP server socket on port 6060 and allows all services (for which TCP is in the list of exposed transports) to receive messages over that port:</p>
<div class="source"><pre class="prettyprint">&lt;transportReceiver name=&quot;tcp&quot; class=&quot;org.apache.axis2.transport.tcp.TCPTransportListener&quot;&gt;
  &lt;parameter name=&quot;transport.tcp.port&quot;&gt;6060&lt;/parameter&gt;
&lt;/transportReceiver&gt;</pre></div>
<p>For this to work, WS-Addressing must be enabled, and messages sent to port 6060 must have the relevant WS-Addressing headers.</p>
<div class="source"><pre class="prettyprint">&lt;module ref=&quot;addressing&quot;/&gt;</pre></div>
<p>With the configuration shown above, the TCP transport would generate bindings with the following EPR:</p>
<div class="source"><pre class="prettyprint">tcp://localhost:6060/services/Version?contentType=text/xml</pre></div>
<p>Similar EPRs will be generated for services when the transport is configured at service level.</p>
<p>The following example shows a message that can be sent to the Version service over TCP:</p>
<div class="source"><pre class="prettyprint">&lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;
                   xmlns:wsa=&quot;http://www.w3.org/2005/08/addressing&quot;&gt;
    &lt;SOAP-ENV:Header&gt;
        &lt;wsa:MessageID&gt;1234&lt;/wsa:MessageID&gt;
        &lt;wsa:To&gt;tcp://localhost:6060/services/Version?contentType=text/xml&lt;/wsa:To&gt;
        &lt;wsa:Action&gt;urn:getVersion&lt;/wsa:Action&gt;
    &lt;/SOAP-ENV:Header&gt;
    &lt;SOAP-ENV:Body&gt;
    &lt;/SOAP-ENV:Body&gt;
&lt;/SOAP-ENV:Envelope&gt;</pre></div>
<p>Axis2 client API can be used to easily send TCP requests to a remote service. The following code snippet shows how to do that. The TCP transport sender must be enabled in the <b>axis2.xml</b> in order for this to work.</p>
<div class="source"><pre class="prettyprint">
String url = &quot;tcp://localhost:6060/services/Version?contentType=text/xml&quot;;
OMElement payload = ...

ServiceClient serviceClient = new ServiceClient();
Options options = new Options();
EndpointReference targetEPR = new EndpointReference(url);
options.setTo(targetEPR);
serviceClient.setOptions(options);
OMElement response = serviceClient.sendReceive(payload);</pre></div>
<p>The transport sender that should be invoked is inferred from the targetEPR (tcp://...). In this case it is TCP and the listener is also TCP. The SOAP message has to be self contained in order to use Addressing. The parameter is of the type OMElement, the XML representation of Axis2.</p>
<p>A TCP URL may contain an optional timeout value, as a query parameter, to indicate how long (in milliseconds) the client should wait for a response. Once this period has expired, the client TCP socket will timeout:</p>
<div class="source"><pre class="prettyprint">tcp://localhost:6060/services/Version?contentType=text/xml&amp;timeout=10000</pre></div>
<p>If the Axis2 client API is used to send a request to the above URL, the client socket will timeout after waiting for 10 seconds, for the response.</p></section></section></section>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2022
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>