blob: fc2b3c4b740e22771747b71c21df7bace2fdf692 [file] [log] [blame]
<!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="UDP_Transport"></a>UDP Transport</h2><section>
<h3><a name="Content">Content</a></h3>
<ul>
<li><a href="#UDP_Transport">UDP 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_SOAP_over_UDP_at_the_transport_level">Enabling SOAP over UDP 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 UDP transport listener is configured in <code>axis2.xml</code> using the following declaration:</p>
<div class="source"><pre class="prettyprint">&lt;transportReceiver name=&quot;udp&quot; class=&quot;org.apache.axis2.transport.udp.UDPListener&quot;/&gt;</pre></div>
<p>Depending on how the UDP 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 local UDP port for listening. UDP packets 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 WS-Addressing or some other mechanism implemented by a dispatcher configured in Axis2.</p>
<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.udp.port</code> (required)</dt>
<dd> Specifies the UDP port to bind to.</dd>
<dt><code>transport.udp.contentType</code> (required)</dt>
<dd> Specifies the content type of the messages received on the endpoint. This parameter is necessary because in contrast to HTTP, the content type information is not part of the information exchanged on the wire.</dd>
<dt><code>transport.udp.maxPacketSize</code> (optional, defaults to 1024)</dt>
<dd> The maximum UDP packet size.</dd></dl></section></section><section>
<h3><a name="Transport_sender">Transport sender</a></h3>
<p>The UDP 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;udp&quot; class=&quot;org.apache.axis2.transport.udp.UDPSender&quot;/&gt;</pre></div></section><section>
<h3><a name="Examples">Examples</a></h3><section>
<h4><a name="Enabling_SOAP_over_UDP_at_the_transport_level">Enabling SOAP over UDP at the transport level</a></h4>
<p>The following declaration in <code>axis2.xml</code> enables SOAP over UDP on port 3333 and allows all services (for which UDP is in the list of exposed transports) to receive messages over that port:</p>
<div class="source"><pre class="prettyprint">&lt;transportReceiver name=&quot;udp&quot; class=&quot;org.apache.axis2.transport.udp.UDPListener&quot;&gt;
&lt;parameter name=&quot;transport.udp.port&quot;&gt;3333&lt;/parameter&gt;
&lt;parameter name=&quot;transport.udp.contentType&quot;&gt;text/xml&lt;/parameter&gt;
&lt;parameter name=&quot;transport.udp.maxPacketSize&quot;&gt;4096&lt;/parameter&gt;
&lt;/transportReceiver&gt;</pre></div>
<p>For this to work, WS-Addressing must be enabled, and messages sent to port 3333 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 UDP transport would generate bindings with the following EPR:</p>
<div class="source"><pre class="prettyprint">udp://localhost:3333/axis2/services/Version?contentType=text/xml</pre></div>
<p>The following example shows a message that can be sent to the Version service over UDP:</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;udp://localhost:3333/axis2/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>On most Linux/Unix systems (including Mac OS X), the <code>nc</code> utility is available to send UDP messages and can be used to test the transport. To do this, save the message into <code>test-message.xml</code> and execute the following command:</p>
<div class="source"><pre class="prettyprint">nc -u 127.0.0.1 3333 &lt; test-message.xml</pre></div></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>