<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.11.1 at 2022-06-07 
 | 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="20220607" />
    <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-06-07<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.8.1<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>
    <li><a href="../release-notes/1.8.1.html" title="1.8.1"><span class="none"></span>1.8.1</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>
