<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.7.4 at 2018-11-16 
 | 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="20181116" />
    <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: 2018-11-16<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 1.7.9<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>
      </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="../svn.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" >
<div class="section">
<h2><a name="TCP_Transport"></a>TCP Transport</h2>
<div class="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></div>
<div class="section">
<h3><a name="Transport_listener">Transport listener</a></h3>
<div class="section">
<h4><a name="Listener_configuration">Listener configuration</a></h4>
<p>The TCP transport listener is configured in <tt>axis2.xml</tt> 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 <tt>transportReceiver</tt> element (see next section).</p></div>
<div class="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 <tt>parameter</tt> elements to the <tt>transportReceiver</tt> element in <tt>axis2.xml</tt> or to a <tt>service</tt> element in an <tt>services.xml</tt> file. The set of parameters is the same for both scenarios:</p>
<dl>
<dt><tt>transport.tcp.port</tt> (required)</dt>
<dd> The port number over which the TCP server socket should be opened.</dd>
<dt><tt>transport.tcp.hostname</tt> (optional)</dt>
<dd> The hostname to which the TCP server socket should be bound.</dd>
<dt><tt>transport.tcp.contentType</tt> (optional, defaults to text/xml)</dt>
<dd> Specifies the content type of the messages received on the endpoint.</dd>
<dt><tt>transport.tcp.backlog</tt> (optional, defaults to 50)</dt>
<dd> The length of the backlog (queue) supported by the TCP server socket.</dd></dl></li></ol></div></div>
<div class="section">
<h3><a name="Transport_sender">Transport sender</a></h3>
<p>The TCP transport sender can be enabled in <tt>axis2.xml</tt> 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></div>
<div class="section">
<h3><a name="Examples">Examples</a></h3>
<div class="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 <tt>axis2.xml</tt> 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></div></div></div>
        </div>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>Copyright &copy;2004&#x2013;2018
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.</p>
        </div>
        </div>
    </footer>
    </body>
</html>