<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <meta name="copyright" content="Copyright (c) 2010 Shane Clarke. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html. Contributors: Shane Clarke - initial API and implementation">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Create a JAX-WS Handler</title>
    <link href="../book.css" rel="stylesheet" charset="ISO-8859-1" type="text/css">
    <script type="text/javascript" language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js"></script>
</head>

<body lang="EN-US">
<h2>Create a JAX-WS Handler</h2>
<p>JAX-WS handlers are message interceptors that may be used to carry out additional processing on inbound and outbound messages.</p>
<p>Protocol handlers are specific to a protocol (e.g. SOAP) and they may access or change protocol specific aspects of a message while logical handlers are protocol agnostic and may only act on the message payload.</p>
<h3>Prerequisites:</h3>
<p>Complete one of the following tasks to generate a Web service:</p>
<ul>
<li><a href="../tasks/create_topdown.html">Generate an SEI and a skeleton implementation bean from a WSDL document using Apache CXF</a><br></li>
<li><a href="../tasks/create_client.html">Generate a JAX-WS Web Service Client from a WSDL document using Apache CXF</a><br></li>
</ul>
To create a JAX-WS Handler:
<ol>
    <li>Select <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.perspectives.showPerspective(org.eclipse.ui.perspectives.showPerspective.perspectiveId=org.eclipse.jst.j2ee.J2EEPerspective)")'>
        <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="Open the Java EE perspective"><strong>Window &gt; Open Perspective &gt; Java EE</strong></a> from the top level menu to switch to the Java EE perspective.</li>
    <li>Open the JAX-WS Handler wizard by selecting <a class="command-link" href='javascript:executeCommand("org.eclipse.ui.newWizard(newWizardId=org.eclipse.jst.ws.internal.jaxws.ui.wizards.NewJAXWSHandlerWizard)")'>
    <img src="PLUGINS_ROOT/org.eclipse.help/command_link.png" alt="Open the new JAX-WS Handler wizard"><strong>File &gt; New &gt; Other... &gt; Web Services &gt; JAX-WS &gt; JAX-WS Handler</strong></a> from the top level menu.</li>
    <li>JAX-WS Handler page:<p><img src="./images/jaxws_handler_wizard.png" alt="JAX-WS Handler Wizard" ></p>
    <ol type="a">
        <li>Browse to select the <b>Source folder.</b></li>
        <li>Browse to select an existing <b>Package</b> or enter a new package name.</li>
        <li>Enter a <b>Name</b> for the JAX-WS Handler.</li>
        <li>Select the <b>Handler type</b>:
        <ul>
            <li><b>Logical Handler</b></li>
            <li><b>Protocol Handler (SOAP)</b></li>
        </ul>
        </li>
    </ol>
    <p>In the <b>Configuration</b> section:</p>
    <ol type="a" start="5">
        <li>Select the <b>Add this handler to a handler chain</b> checkbox.</li>
        <li><p>Select <b>Create a new handler chain file</b> and browse to select a location in the project where the handler chain file will be generated.</p>
        <p><b><i>Note</i></b>: To add this JAX-WS handler to an existing  handler-chain in the project select <b>Add this handler to an existing handler chain file</b> and browse to select the file location.</p>
        <p>Selecting <b>Next</b> will then display a wizard page which will allow you to select the position of the new JAX-WS handler in the handler chain file.</p></li>
        <li>Select <b>Associate this handler chain with a Web service</b> and browse to select the Web service implementation or service endpoint interface that was created in the prerequisites.
        <p>Click <b>Finish</b>.</p>
        <p>The wizard will generate a skeleton JAX-WS Handler, handler-chain file and annotate the Web service with the <samp class="codeph">@javax.jws.HandlerChain</samp> annotation.</p></li>
    </ol>
</ol>
<p><img src="../images/ngrelt.png" alt="Related tasks" border="0" ></p>
<a href="../tasks/create_topdown.html">Generate an SEI and a skeleton implementation bean from a WSDL document using Apache CXF</a><br>
<a href="../tasks/create_client.html">Generate a JAX-WS Web Service Client from a WSDL document using Apache CXF</a><br>
</body>
</html>