<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Service</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>

<link rel="shortcut icon" href="/img/jakarta-favicon.ico">
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Service";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../jakarta/xml/ws/ResponseWrapper.html" title="annotation in jakarta.xml.ws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/ws/Service.html" target="_top">Frames</a></li>
<li><a href="Service.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.xml.ws</div>
<h2 title="Class Service" class="title">Class Service</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>jakarta.xml.ws.Service</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">Service</span>
extends java.lang.Object</pre>
<div class="block"><code>Service</code> objects provide the client view of a Web service.
 <p><code>Service</code> acts as a factory of the following:
 <ul>
 <li>Proxies for a target service endpoint.</li>
 <li>Instances of <a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws"><code>Dispatch</code></a> for
     dynamic message-oriented invocation of a remote
     operation.
 </li>
 </ul>

 <p>The ports available on a service can be enumerated using the
 <code>getPorts</code> method. Alternatively, you can pass a
 service endpoint interface to the unary <code>getPort</code> method
 and let the runtime select a compatible port.

 <p>Handler chains for all the objects created by a <code>Service</code>
 can be set by means of a <code>HandlerResolver</code>.

 <p>An <code>Executor</code> may be set on the service in order
 to gain better control over the threads used to dispatch asynchronous
 callbacks. For instance, thread pooling with certain parameters
 can be enabled by creating a <code>ThreadPoolExecutor</code> and
 registering it with the service.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/ws/spi/Provider.html" title="class in jakarta.xml.ws.spi"><code>Provider</code></a>, 
<a href="../../../jakarta/xml/ws/handler/HandlerResolver.html" title="interface in jakarta.xml.ws.handler"><code>HandlerResolver</code></a>, 
<code>Executor</code></dd>
<dt><span class="simpleTagLabel">Examples (en):</span></dt>
<dd><a href="../../../../../../tomee-9.0/examples/webservice-ws-with-resources-config.html">webservice-ws-with-resources-config</a>, <a href="../../../../../../tomee-9.0/examples/webservice-ws-security.html">webservice-ws-security</a>, <a href="../../../../../../tomee-9.0/examples/webservice-ssl-client-cert.html">webservice-ssl-client-cert</a>, <a href="../../../../../../tomee-9.0/examples/webservice-security.html">webservice-security</a>, <a href="../../../../../../tomee-9.0/examples/webservice-inheritance.html">webservice-inheritance</a>, <a href="../../../../../../tomee-9.0/examples/webservice-holder.html">webservice-holder</a>, <a href="../../../../../../tomee-9.0/examples/webservice-handlerchain.html">webservice-handlerchain</a>, <a href="../../../../../../tomee-9.0/examples/webservice-attachments.html">webservice-attachments</a>, <a href="../../../../../../tomee-9.0/examples/simple-webservice.html">simple-webservice</a>, <a href="../../../../../../tomee-9.0/examples/ejb-examples.html">ejb-examples</a>, <a href="../../../../../../tomee-9.0/examples/applicationcomposer-jaxws-cdi.html">applicationcomposer-jaxws-cdi</a></dd>
<dt><span class="simpleTagLabel">Examples (pt):</span></dt>
<dd><a href="../../../../../../tomee-9.0/pt/examples/webservice-ws-with-resources-config.html">webservice-ws-with-resources-config</a>, <a href="../../../../../../tomee-9.0/pt/examples/webservice-ssl-client-cert.html">webservice-ssl-client-cert</a>, <a href="../../../../../../tomee-9.0/pt/examples/webservice-holder.html">webservice-holder</a>, <a href="../../../../../../tomee-9.0/pt/examples/webservice-handlerchain.html">webservice-handlerchain</a>, <a href="../../../../../../tomee-9.0/pt/examples/applicationcomposer-jaxws-cdi.html">applicationcomposer-jaxws-cdi</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a></span></code>
<div class="block">The orientation of a dynamic client or service.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#Service-java.net.URL-javax.xml.namespace.QName-">Service</a></span>(java.net.URL&nbsp;wsdlDocumentLocation,
       javax.xml.namespace.QName&nbsp;serviceName)</code>
<div class="block">Creates a <code>Service</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#Service-java.net.URL-javax.xml.namespace.QName-jakarta.xml.ws.WebServiceFeature...-">Service</a></span>(java.net.URL&nbsp;wsdlDocumentLocation,
       javax.xml.namespace.QName&nbsp;serviceName,
       <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Service</code>.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#addPort-javax.xml.namespace.QName-java.lang.String-java.lang.String-">addPort</a></span>(javax.xml.namespace.QName&nbsp;portName,
       java.lang.String&nbsp;bindingId,
       java.lang.String&nbsp;endpointAddress)</code>
<div class="block">Creates a new port for the service.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#create-javax.xml.namespace.QName-">create</a></span>(javax.xml.namespace.QName&nbsp;serviceName)</code>
<div class="block">Creates a <code>Service</code> instance.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#create-javax.xml.namespace.QName-jakarta.xml.ws.WebServiceFeature...-">create</a></span>(javax.xml.namespace.QName&nbsp;serviceName,
      <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Service</code> instance.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#create-java.net.URL-javax.xml.namespace.QName-">create</a></span>(java.net.URL&nbsp;wsdlDocumentLocation,
      javax.xml.namespace.QName&nbsp;serviceName)</code>
<div class="block">Creates a <code>Service</code> instance.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#create-java.net.URL-javax.xml.namespace.QName-jakarta.xml.ws.WebServiceFeature...-">create</a></span>(java.net.URL&nbsp;wsdlDocumentLocation,
      javax.xml.namespace.QName&nbsp;serviceName,
      <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Service</code> instance.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#createDispatch-jakarta.xml.ws.EndpointReference-java.lang.Class-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">createDispatch</a></span>(<a href="../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;endpointReference,
              java.lang.Class&lt;T&gt;&nbsp;type,
              <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
              <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Dispatch</code> instance for use with objects of
 the client's choosing.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#createDispatch-jakarta.xml.ws.EndpointReference-jakarta.xml.bind.JAXBContext-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">createDispatch</a></span>(<a href="../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;endpointReference,
              <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind">JAXBContext</a>&nbsp;context,
              <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
              <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Dispatch</code> instance for use with Jakarta XML Binding
 generated objects.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#createDispatch-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.Service.Mode-">createDispatch</a></span>(javax.xml.namespace.QName&nbsp;portName,
              java.lang.Class&lt;T&gt;&nbsp;type,
              <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode)</code>
<div class="block">Creates a <code>Dispatch</code> instance for use with objects of
 the client's choosing.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#createDispatch-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">createDispatch</a></span>(javax.xml.namespace.QName&nbsp;portName,
              java.lang.Class&lt;T&gt;&nbsp;type,
              <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
              <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Dispatch</code> instance for use with objects of
 the client's choosing.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#createDispatch-javax.xml.namespace.QName-jakarta.xml.bind.JAXBContext-jakarta.xml.ws.Service.Mode-">createDispatch</a></span>(javax.xml.namespace.QName&nbsp;portName,
              <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind">JAXBContext</a>&nbsp;context,
              <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode)</code>
<div class="block">Creates a <code>Dispatch</code> instance for use with Jakarta XML Binding
 generated objects.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;java.lang.Object&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#createDispatch-javax.xml.namespace.QName-jakarta.xml.bind.JAXBContext-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">createDispatch</a></span>(javax.xml.namespace.QName&nbsp;portName,
              <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind">JAXBContext</a>&nbsp;context,
              <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
              <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a <code>Dispatch</code> instance for use with Jakarta XML Binding
 generated objects.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.util.concurrent.Executor</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getExecutor--">getExecutor</a></span>()</code>
<div class="block">Returns the executor for this <code>Service</code>instance.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="../../../jakarta/xml/ws/handler/HandlerResolver.html" title="interface in jakarta.xml.ws.handler">HandlerResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getHandlerResolver--">getHandlerResolver</a></span>()</code>
<div class="block">Returns the configured handler resolver.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getPort-java.lang.Class-">getPort</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface)</code>
<div class="block">The <code>getPort</code> method returns a proxy.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getPort-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">getPort</a></span>(java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface,
       <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">The <code>getPort</code> method returns a proxy.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getPort-jakarta.xml.ws.EndpointReference-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">getPort</a></span>(<a href="../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;endpointReference,
       java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface,
       <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">The <code>getPort</code> method returns a proxy.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getPort-javax.xml.namespace.QName-java.lang.Class-">getPort</a></span>(javax.xml.namespace.QName&nbsp;portName,
       java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface)</code>
<div class="block">The <code>getPort</code> method returns a proxy.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getPort-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">getPort</a></span>(javax.xml.namespace.QName&nbsp;portName,
       java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface,
       <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">The <code>getPort</code> method returns a proxy.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.util.Iterator&lt;javax.xml.namespace.QName&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getPorts--">getPorts</a></span>()</code>
<div class="block">Returns an <code>Iterator</code> for the list of
 <code>QName</code>s of service endpoints grouped by this
 service</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>javax.xml.namespace.QName</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getServiceName--">getServiceName</a></span>()</code>
<div class="block">Gets the name of this service.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>java.net.URL</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#getWSDLDocumentLocation--">getWSDLDocumentLocation</a></span>()</code>
<div class="block">Gets the location of the WSDL document for this Service.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#setExecutor-java.util.concurrent.Executor-">setExecutor</a></span>(java.util.concurrent.Executor&nbsp;executor)</code>
<div class="block">Sets the executor for this <code>Service</code> instance.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/ws/Service.html#setHandlerResolver-jakarta.xml.ws.handler.HandlerResolver-">setHandlerResolver</a></span>(<a href="../../../jakarta/xml/ws/handler/HandlerResolver.html" title="interface in jakarta.xml.ws.handler">HandlerResolver</a>&nbsp;handlerResolver)</code>
<div class="block">Sets the <code>HandlerResolver</code> for this <code>Service</code>
 instance.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Service-java.net.URL-javax.xml.namespace.QName-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Service</h4>
<pre>protected&nbsp;Service(java.net.URL&nbsp;wsdlDocumentLocation,
                  javax.xml.namespace.QName&nbsp;serviceName)</pre>
<div class="block">Creates a <code>Service</code>.

 The specified WSDL document location and service qualified name MUST
 uniquely identify a <code>wsdl:service</code> element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wsdlDocumentLocation</code> - <code>URL</code> for the WSDL document location
                             for the service</dd>
<dd><code>serviceName</code> - <code>QName</code> for the service</dd>
</dl>
</li>
</ul>
<a name="Service-java.net.URL-javax.xml.namespace.QName-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Service</h4>
<pre>protected&nbsp;Service(java.net.URL&nbsp;wsdlDocumentLocation,
                  javax.xml.namespace.QName&nbsp;serviceName,
                  <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Service</code>. The created instance is
 configured with the web service features.

 The specified WSDL document location and service qualified name MUST
 uniquely identify a <code>wsdl:service</code> element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wsdlDocumentLocation</code> - <code>URL</code> for the WSDL document location
                             for the service</dd>
<dd><code>serviceName</code> - <code>QName</code> for the service</dd>
<dd><code>features</code> - Web Service features that must be configured on
        the service. If the provider doesn't understand a feature,
        it must throw a WebServiceException.</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getPort-javax.xml.namespace.QName-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getPort(javax.xml.namespace.QName&nbsp;portName,
                     java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface)</pre>
<div class="block">The <code>getPort</code> method returns a proxy. A service client
 uses this proxy to invoke operations on the target
 service endpoint. The <code>serviceEndpointInterface</code>
 specifies the service endpoint interface that is supported by
 the created dynamic proxy instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Service endpoint interface.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name of the service endpoint in
                  the WSDL service description.</dd>
<dd><code>serviceEndpointInterface</code> - Service endpoint interface
                  supported by the dynamic proxy instance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Object Proxy instance that
                supports the specified service endpoint
                interface.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - This exception is thrown in the
                  following cases:
                  <UL>
                  <LI>If there is an error in creation of
                      the proxy.
                  <LI>If there is any missing WSDL metadata
                      as required by this method.
                  <LI>If an illegal
                      <code>serviceEndpointInterface</code>
                      or <code>portName</code> is specified.
                  </UL></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Proxy</code>, 
<code>InvocationHandler</code></dd>
</dl>
</li>
</ul>
<a name="getPort-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getPort(javax.xml.namespace.QName&nbsp;portName,
                     java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface,
                     <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">The <code>getPort</code> method returns a proxy. A service client
 uses this proxy to invoke operations on the target
 service endpoint. The <code>serviceEndpointInterface</code>
 specifies the service endpoint interface that is supported by
 the created dynamic proxy instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Service endpoint interface.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name of the service endpoint in
                  the WSDL service description.</dd>
<dd><code>serviceEndpointInterface</code> - Service endpoint interface
                  supported by the dynamic proxy instance.</dd>
<dd><code>features</code> - A list of WebServiceFeatures to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Object Proxy instance that
                supports the specified service endpoint
                interface.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - This exception is thrown in the
                  following cases:
                  <UL>
                  <LI>If there is an error in creation of
                      the proxy.
                  <LI>If there is any missing WSDL metadata
                      as required by this method.
                  <LI>If an illegal
                      <code>serviceEndpointInterface</code>
                      or <code>portName</code> is specified.
                  <LI>If a feature is enabled that is not compatible
                      with this port or is unsupported.
                  </UL></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Proxy</code>, 
<code>InvocationHandler</code>, 
<a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws"><code>WebServiceFeature</code></a></dd>
</dl>
</li>
</ul>
<a name="getPort-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getPort(java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface)</pre>
<div class="block">The <code>getPort</code> method returns a proxy. The parameter
 <code>serviceEndpointInterface</code> specifies the service
 endpoint interface that is supported by the returned proxy.
 In the implementation of this method, the Jakarta XML Web Services
 runtime system takes the responsibility of selecting a protocol
 binding (and a port) and configuring the proxy accordingly.
 The returned proxy should not be reconfigured by the client.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Service endpoint interface.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceEndpointInterface</code> - Service endpoint interface.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Object instance that supports the
                  specified service endpoint interface.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - <UL>
                  <LI>If there is an error during creation
                      of the proxy.
                  <LI>If there is any missing WSDL metadata
                      as required by this method.
                  <LI>If an illegal
                      <code>serviceEndpointInterface</code>
                      is specified.
                  </UL></dd>
</dl>
</li>
</ul>
<a name="getPort-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getPort(java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface,
                     <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">The <code>getPort</code> method returns a proxy. The parameter
 <code>serviceEndpointInterface</code> specifies the service
 endpoint interface that is supported by the returned proxy.
 In the implementation of this method, the Jakarta XML Web Services
 runtime system takes the responsibility of selecting a protocol
 binding (and a port) and configuring the proxy accordingly.
 The returned proxy should not be reconfigured by the client.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Service endpoint interface.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceEndpointInterface</code> - Service endpoint interface.</dd>
<dd><code>features</code> - A list of WebServiceFeatures to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Object instance that supports the
                  specified service endpoint interface.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - <UL>
                  <LI>If there is an error during creation
                      of the proxy.
                  <LI>If there is any missing WSDL metadata
                      as required by this method.
                  <LI>If an illegal
                      <code>serviceEndpointInterface</code>
                      is specified.
                  <LI>If a feature is enabled that is not compatible
                      with this port or is unsupported.
                  </UL></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws"><code>WebServiceFeature</code></a></dd>
</dl>
</li>
</ul>
<a name="getPort-jakarta.xml.ws.EndpointReference-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPort</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;T&nbsp;getPort(<a href="../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;endpointReference,
                     java.lang.Class&lt;T&gt;&nbsp;serviceEndpointInterface,
                     <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">The <code>getPort</code> method returns a proxy.
 The parameter <code>endpointReference</code> specifies the
 endpoint that will be invoked by the returned proxy.  If there
 are any reference parameters in the
 <code>endpointReference</code>, then those reference
 parameters MUST appear as SOAP headers, indicating them to be
 reference parameters, on all messages sent to the endpoint.
 The <code>endpointReference's</code> address MUST be used
 for invocations on the endpoint.
 The parameter <code>serviceEndpointInterface</code> specifies
 the service endpoint interface that is supported by the
 returned proxy.
 In the implementation of this method, the Jakarta XML Web Services
 runtime system takes the responsibility of selecting a protocol
 binding (and a port) and configuring the proxy accordingly from
 the WSDL associated with this <code>Service</code> instance or
 from the metadata from the <code>endpointReference</code>.
 If this <code>Service</code> instance has a WSDL and
 the <code>endpointReference</code> metadata
 also has a WSDL, then the WSDL from this instance MUST be used.
 If this <code>Service</code> instance does not have a WSDL and
 the <code>endpointReference</code> does have a WSDL, then the
 WSDL from the <code>endpointReference</code> MAY be used.
 The returned proxy should not be reconfigured by the client.
 If this <code>Service</code> instance has a known proxy
 port that matches the information contained in
 the WSDL,
 then that proxy is returned, otherwise a WebServiceException
 is thrown.
 <p>
 Calling this method has the same behavior as the following
 <pre>
 <code> port = service.getPort(portName, serviceEndpointInterface);</code>
 </pre>
 where the <code>portName</code> is retrieved from the
 metadata of the <code>endpointReference</code> or from the
 <code>serviceEndpointInterface</code> and the WSDL
 associated with this <code>Service</code> instance.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - Service endpoint interface.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>endpointReference</code> - The <code>EndpointReference</code>
 for the target service endpoint that will be invoked by the
 returned proxy.</dd>
<dd><code>serviceEndpointInterface</code> - Service endpoint interface.</dd>
<dd><code>features</code> - A list of <code>WebServiceFeatures</code> to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Object Proxy instance that supports the
                  specified service endpoint interface.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - <UL>
                  <LI>If there is an error during creation
                      of the proxy.
                  <LI>If there is any missing WSDL metadata
                      as required by this method.
                  <LI>If the <code>endpointReference</code> metadata does
                      not match the <code>serviceName</code> of this
                      <code>Service</code> instance.
                  <LI>If a <code>portName</code> cannot be extracted
                      from the WSDL or <code>endpointReference</code> metadata.
                  <LI>If an invalid
                      <code>endpointReference</code>
                      is specified.
                  <LI>If an invalid
                      <code>serviceEndpointInterface</code>
                      is specified.
                  <LI>If a feature is enabled that is not compatible
                      with this port or is unsupported.
                  </UL></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
</dl>
</li>
</ul>
<a name="addPort-javax.xml.namespace.QName-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPort</h4>
<pre>public&nbsp;void&nbsp;addPort(javax.xml.namespace.QName&nbsp;portName,
                    java.lang.String&nbsp;bindingId,
                    java.lang.String&nbsp;endpointAddress)</pre>
<div class="block">Creates a new port for the service. Ports created in this way contain
 no WSDL port type information and can only be used for creating
 <code>Dispatch</code>instances.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name for the target service endpoint.</dd>
<dd><code>bindingId</code> - A String identifier of a binding.</dd>
<dd><code>endpointAddress</code> - Address of the target service endpoint as a URI.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in the creation of
 the port.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/ws/soap/SOAPBinding.html#SOAP11HTTP_BINDING"><code>SOAPBinding.SOAP11HTTP_BINDING</code></a>, 
<a href="../../../jakarta/xml/ws/soap/SOAPBinding.html#SOAP12HTTP_BINDING"><code>SOAPBinding.SOAP12HTTP_BINDING</code></a>, 
<a href="../../../jakarta/xml/ws/http/HTTPBinding.html#HTTP_BINDING"><code>HTTPBinding.HTTP_BINDING</code></a></dd>
</dl>
</li>
</ul>
<a name="createDispatch-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.Service.Mode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDispatch</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;T&gt;&nbsp;createDispatch(javax.xml.namespace.QName&nbsp;portName,
                                      java.lang.Class&lt;T&gt;&nbsp;type,
                                      <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode)</pre>
<div class="block">Creates a <code>Dispatch</code> instance for use with objects of
 the client's choosing.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of the message or payload</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name for the target service endpoint</dd>
<dd><code>type</code> - The class of object used for messages or message
 payloads. Implementations are required to support
 <code>javax.xml.transform.Source</code>, <code>jakarta.xml.soap.SOAPMessage</code>
 and <code>jakarta.activation.DataSource</code>, depending on
 the binding in use.</dd>
<dd><code>mode</code> - Controls whether the created dispatch instance is message
 or payload oriented, i.e. whether the client will work with complete
 protocol messages or message payloads. E.g. when using the SOAP
 protocol, this parameter controls whether the client will work with
 SOAP messages or the contents of a SOAP body. Mode MUST be MESSAGE
 when type is SOAPMessage.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dispatch instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in the creation of
                  the <code>Dispatch</code> object.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Source</code>, 
<a href="../../../jakarta/xml/soap/SOAPMessage.html" title="class in jakarta.xml.soap"><code>SOAPMessage</code></a></dd>
</dl>
</li>
</ul>
<a name="createDispatch-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDispatch</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;T&gt;&nbsp;createDispatch(javax.xml.namespace.QName&nbsp;portName,
                                      java.lang.Class&lt;T&gt;&nbsp;type,
                                      <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
                                      <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Dispatch</code> instance for use with objects of
 the client's choosing.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of the message or payload</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name for the target service endpoint</dd>
<dd><code>type</code> - The class of object used for messages or message
 payloads. Implementations are required to support
 <code>javax.xml.transform.Source</code> and <code>jakarta.xml.soap.SOAPMessage</code>.</dd>
<dd><code>mode</code> - Controls whether the created dispatch instance is message
 or payload oriented, i.e. whether the client will work with complete
 protocol messages or message payloads. E.g. when using the SOAP
 protocol, this parameter controls whether the client will work with
 SOAP messages or the contents of a SOAP body. Mode MUST be <code>MESSAGE</code>
 when type is <code>SOAPMessage</code>.</dd>
<dd><code>features</code> - A list of <code>WebServiceFeatures</code> to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dispatch instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in the creation of
                  the <code>Dispatch</code> object or if a
                  feature is enabled that is not compatible with
                  this port or is unsupported.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Source</code>, 
<a href="../../../jakarta/xml/soap/SOAPMessage.html" title="class in jakarta.xml.soap"><code>SOAPMessage</code></a>, 
<a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws"><code>WebServiceFeature</code></a></dd>
</dl>
</li>
</ul>
<a name="createDispatch-jakarta.xml.ws.EndpointReference-java.lang.Class-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDispatch</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;T&gt;&nbsp;createDispatch(<a href="../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;endpointReference,
                                      java.lang.Class&lt;T&gt;&nbsp;type,
                                      <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
                                      <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Dispatch</code> instance for use with objects of
 the client's choosing. If there
 are any reference parameters in the
 <code>endpointReference</code>, then those reference
 parameters MUST appear as SOAP headers, indicating them to be
 reference parameters, on all messages sent to the endpoint.
 The <code>endpointReference's</code> address MUST be used
 for invocations on the endpoint.
 In the implementation of this method, the Jakarta XML Web Services
 runtime system takes the responsibility of selecting a protocol
 binding (and a port) and configuring the dispatch accordingly from
 the WSDL associated with this <code>Service</code> instance or
 from the metadata from the <code>endpointReference</code>.
 If this <code>Service</code> instance has a WSDL and
 the <code>endpointReference</code>
 also has a WSDL in its metadata, then the WSDL from this instance MUST be used.
 If this <code>Service</code> instance does not have a WSDL and
 the <code>endpointReference</code> does have a WSDL, then the
 WSDL from the <code>endpointReference</code> MAY be used.
 An implementation MUST be able to retrieve the <code>portName</code> from the
 <code>endpointReference</code> metadata.
 <p>
 This method behaves the same as calling
 <pre>
 <code> dispatch = service.createDispatch(portName, type, mode, features);</code>
 </pre>
 where the <code>portName</code> is retrieved from the
 WSDL or <code>EndpointReference</code> metadata.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of the message or payload</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>endpointReference</code> - The <code>EndpointReference</code>
 for the target service endpoint that will be invoked by the
 returned <code>Dispatch</code> object.</dd>
<dd><code>type</code> - The class of object used to messages or message
 payloads. Implementations are required to support
 <code>javax.xml.transform.Source</code> and <code>jakarta.xml.soap.SOAPMessage</code>.</dd>
<dd><code>mode</code> - Controls whether the created dispatch instance is message
 or payload oriented, i.e. whether the client will work with complete
 protocol messages or message payloads. E.g. when using the SOAP
 protocol, this parameter controls whether the client will work with
 SOAP messages or the contents of a SOAP body. Mode MUST be <code>MESSAGE</code>
 when type is <code>SOAPMessage</code>.</dd>
<dd><code>features</code> - An array of <code>WebServiceFeatures</code> to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dispatch instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - <UL>
                    <LI>If there is any missing WSDL metadata
                      as required by this method.
                    <li>If the <code>endpointReference</code> metadata does
                      not match the <code>serviceName</code> or <code>portName</code>
                      of a WSDL associated
                      with this <code>Service</code> instance.
                    <li>If the <code>portName</code> cannot be determined
                    from the <code>EndpointReference</code> metadata.
                    <li>If any error in the creation of
                     the <code>Dispatch</code> object.
                    <li>If a feature is enabled that is not
                    compatible with this port or is unsupported.
                  </UL></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Source</code>, 
<a href="../../../jakarta/xml/soap/SOAPMessage.html" title="class in jakarta.xml.soap"><code>SOAPMessage</code></a>, 
<a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws"><code>WebServiceFeature</code></a></dd>
</dl>
</li>
</ul>
<a name="createDispatch-javax.xml.namespace.QName-jakarta.xml.bind.JAXBContext-jakarta.xml.ws.Service.Mode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDispatch</h4>
<pre>public&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;java.lang.Object&gt;&nbsp;createDispatch(javax.xml.namespace.QName&nbsp;portName,
                                                 <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind">JAXBContext</a>&nbsp;context,
                                                 <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode)</pre>
<div class="block">Creates a <code>Dispatch</code> instance for use with Jakarta XML Binding
 generated objects.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name for the target service endpoint</dd>
<dd><code>context</code> - The JAXBContext used to marshall and unmarshall
 messages or message payloads.</dd>
<dd><code>mode</code> - Controls whether the created dispatch instance is message
 or payload oriented, i.e. whether the client will work with complete
 protocol messages or message payloads. E.g. when using the SOAP
 protocol, this parameter controls whether the client will work with
 SOAP messages or the contents of a SOAP body.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dispatch instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in the creation of
                  the <code>Dispatch</code> object.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind"><code>JAXBContext</code></a></dd>
</dl>
</li>
</ul>
<a name="createDispatch-javax.xml.namespace.QName-jakarta.xml.bind.JAXBContext-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDispatch</h4>
<pre>public&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;java.lang.Object&gt;&nbsp;createDispatch(javax.xml.namespace.QName&nbsp;portName,
                                                 <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind">JAXBContext</a>&nbsp;context,
                                                 <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
                                                 <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Dispatch</code> instance for use with Jakarta XML Binding
 generated objects.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>portName</code> - Qualified name for the target service endpoint</dd>
<dd><code>context</code> - The JAXBContext used to marshall and unmarshall
 messages or message payloads.</dd>
<dd><code>mode</code> - Controls whether the created dispatch instance is message
 or payload oriented, i.e. whether the client will work with complete
 protocol messages or message payloads. E.g. when using the SOAP
 protocol, this parameter controls whether the client will work with
 SOAP messages or the contents of a SOAP body.</dd>
<dd><code>features</code> - A list of <code>WebServiceFeatures</code> to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dispatch instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in the creation of
                  the <code>Dispatch</code> object or if a
                  feature is enabled that is not compatible with
                  this port or is unsupported.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind"><code>JAXBContext</code></a>, 
<a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws"><code>WebServiceFeature</code></a></dd>
</dl>
</li>
</ul>
<a name="createDispatch-jakarta.xml.ws.EndpointReference-jakarta.xml.bind.JAXBContext-jakarta.xml.ws.Service.Mode-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDispatch</h4>
<pre>public&nbsp;<a href="../../../jakarta/xml/ws/Dispatch.html" title="interface in jakarta.xml.ws">Dispatch</a>&lt;java.lang.Object&gt;&nbsp;createDispatch(<a href="../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;endpointReference,
                                                 <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind">JAXBContext</a>&nbsp;context,
                                                 <a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws">Service.Mode</a>&nbsp;mode,
                                                 <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Dispatch</code> instance for use with Jakarta XML Binding
 generated objects. If there
 are any reference parameters in the
 <code>endpointReference</code>, then those reference
 parameters MUST appear as SOAP headers, indicating them to be
 reference parameters, on all messages sent to the endpoint.
 The <code>endpointReference's</code> address MUST be used
 for invocations on the endpoint.
 In the implementation of this method, the Jakarta XML Web Services
 runtime system takes the responsibility of selecting a protocol
 binding (and a port) and configuring the dispatch accordingly from
 the WSDL associated with this <code>Service</code> instance or
 from the metadata from the <code>endpointReference</code>.
 If this <code>Service</code> instance has a WSDL and
 the <code>endpointReference</code>
 also has a WSDL in its metadata, then the WSDL from this instance
 MUST be used.
 If this <code>Service</code> instance does not have a WSDL and
 the <code>endpointReference</code> does have a WSDL, then the
 WSDL from the <code>endpointReference</code> MAY be used.
 An implementation MUST be able to retrieve the <code>portName</code> from the
 <code>endpointReference</code> metadata.
 <p>
 This method behavies the same as calling
 <pre>
 <code> dispatch = service.createDispatch(portName, context, mode, features);</code>
 </pre>
 where the <code>portName</code> is retrieved from the
 WSDL or <code>endpointReference</code> metadata.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>endpointReference</code> - The <code>EndpointReference</code>
 for the target service endpoint that will be invoked by the
 returned <code>Dispatch</code> object.</dd>
<dd><code>context</code> - The Jakarta XML Binding context used to marshall and unmarshall
 messages or message payloads.</dd>
<dd><code>mode</code> - Controls whether the created dispatch instance is message
 or payload oriented, i.e. whether the client will work with complete
 protocol messages or message payloads. E.g. when using the SOAP
 protocol, this parameter controls whether the client will work with
 SOAP messages or the contents of a SOAP body.</dd>
<dd><code>features</code> - An array of <code>WebServiceFeatures</code> to configure on the
                proxy.  Supported features not in the <code>features
                </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Dispatch instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - <UL>
                    <li>If there is any missing WSDL metadata
                      as required by this method.
                    <li>If the <code>endpointReference</code> metadata does
                    not match the <code>serviceName</code> or <code>portName</code>
                    of a WSDL associated
                    with this <code>Service</code> instance.
                    <li>If the <code>portName</code> cannot be determined
                    from the <code>EndpointReference</code> metadata.
                    <li>If any error in the creation of
                    the <code>Dispatch</code> object.
                    <li>if a feature is enabled that is not
                    compatible with this port or is unsupported.
                  </UL></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind"><code>JAXBContext</code></a>, 
<a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws"><code>WebServiceFeature</code></a></dd>
</dl>
</li>
</ul>
<a name="getServiceName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceName</h4>
<pre>public&nbsp;javax.xml.namespace.QName&nbsp;getServiceName()</pre>
<div class="block">Gets the name of this service.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Qualified name of this service</dd>
</dl>
</li>
</ul>
<a name="getPorts--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPorts</h4>
<pre>public&nbsp;java.util.Iterator&lt;javax.xml.namespace.QName&gt;&nbsp;getPorts()</pre>
<div class="block">Returns an <code>Iterator</code> for the list of
 <code>QName</code>s of service endpoints grouped by this
 service</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns <code>java.util.Iterator</code> with elements
         of type <code>javax.xml.namespace.QName</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If this Service class does not
         have access to the required WSDL metadata.</dd>
</dl>
</li>
</ul>
<a name="getWSDLDocumentLocation--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getWSDLDocumentLocation</h4>
<pre>public&nbsp;java.net.URL&nbsp;getWSDLDocumentLocation()</pre>
<div class="block">Gets the location of the WSDL document for this Service.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>URL for the location of the WSDL document for
         this service.</dd>
</dl>
</li>
</ul>
<a name="getHandlerResolver--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHandlerResolver</h4>
<pre>public&nbsp;<a href="../../../jakarta/xml/ws/handler/HandlerResolver.html" title="interface in jakarta.xml.ws.handler">HandlerResolver</a>&nbsp;getHandlerResolver()</pre>
<div class="block">Returns the configured handler resolver.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>HandlerResolver The <code>HandlerResolver</code> being
         used by this <code>Service</code> instance, or <code>null</code>
         if there isn't one.</dd>
</dl>
</li>
</ul>
<a name="setHandlerResolver-jakarta.xml.ws.handler.HandlerResolver-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHandlerResolver</h4>
<pre>public&nbsp;void&nbsp;setHandlerResolver(<a href="../../../jakarta/xml/ws/handler/HandlerResolver.html" title="interface in jakarta.xml.ws.handler">HandlerResolver</a>&nbsp;handlerResolver)</pre>
<div class="block">Sets the <code>HandlerResolver</code> for this <code>Service</code>
 instance.
 <p>
 The handler resolver, if present, will be called once for each
 proxy or dispatch instance that is created, and the handler chain
 returned by the resolver will be set on the instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handlerResolver</code> - The <code>HandlerResolver</code> to use
        for all subsequently created proxy/dispatch objects.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/ws/handler/HandlerResolver.html" title="interface in jakarta.xml.ws.handler"><code>HandlerResolver</code></a></dd>
</dl>
</li>
</ul>
<a name="getExecutor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExecutor</h4>
<pre>public&nbsp;java.util.concurrent.Executor&nbsp;getExecutor()</pre>
<div class="block">Returns the executor for this <code>Service</code>instance.

 The executor is used for all asynchronous invocations that
 require callbacks.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The <code>java.util.concurrent.Executor</code> to be
         used to invoke a callback.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Executor</code></dd>
</dl>
</li>
</ul>
<a name="setExecutor-java.util.concurrent.Executor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExecutor</h4>
<pre>public&nbsp;void&nbsp;setExecutor(java.util.concurrent.Executor&nbsp;executor)</pre>
<div class="block">Sets the executor for this <code>Service</code> instance.

 The executor is used for all asynchronous invocations that
 require callbacks.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executor</code> - The <code>java.util.concurrent.Executor</code>
        to be used to invoke a callback.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.SecurityException</code> - If the instance does not support
         setting an executor for security reasons (e.g. the
         necessary permissions are missing).</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>Executor</code></dd>
</dl>
</li>
</ul>
<a name="create-java.net.URL-javax.xml.namespace.QName-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;<a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&nbsp;create(java.net.URL&nbsp;wsdlDocumentLocation,
                             javax.xml.namespace.QName&nbsp;serviceName)</pre>
<div class="block">Creates a <code>Service</code> instance.

 The specified WSDL document location and service qualified name MUST
 uniquely identify a <code>wsdl:service</code> element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wsdlDocumentLocation</code> - <code>URL</code> for the WSDL document location
                             for the service</dd>
<dd><code>serviceName</code> - <code>QName</code> for the service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Service instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in creation of the
                    specified service.</dd>
</dl>
</li>
</ul>
<a name="create-java.net.URL-javax.xml.namespace.QName-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;<a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&nbsp;create(java.net.URL&nbsp;wsdlDocumentLocation,
                             javax.xml.namespace.QName&nbsp;serviceName,
                             <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Service</code> instance. The created instance is
 configured with the web service features.

 The specified WSDL document location and service qualified name MUST
 uniquely identify a <code>wsdl:service</code> element.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wsdlDocumentLocation</code> - <code>URL</code> for the WSDL document location
                             for the service</dd>
<dd><code>serviceName</code> - <code>QName</code> for the service</dd>
<dd><code>features</code> - Web Service features that must be configured on
        the service. If the provider doesn't understand a feature,
        it must throw a WebServiceException.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Service instance configured with requested web service features</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in creation of the
                    specified service.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, JAX-WS 2.2</dd>
</dl>
</li>
</ul>
<a name="create-javax.xml.namespace.QName-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;<a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&nbsp;create(javax.xml.namespace.QName&nbsp;serviceName)</pre>
<div class="block">Creates a <code>Service</code> instance.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceName</code> - <code>QName</code> for the service</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Service instance</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in creation of the
                    specified service</dd>
</dl>
</li>
</ul>
<a name="create-javax.xml.namespace.QName-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>create</h4>
<pre>public static&nbsp;<a href="../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&nbsp;create(javax.xml.namespace.QName&nbsp;serviceName,
                             <a href="../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a <code>Service</code> instance. The created instance is
 configured with the web service features.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serviceName</code> - <code>QName</code> for the service</dd>
<dd><code>features</code> - Web Service features that must be configured on
        the service. If the provider doesn't understand a feature,
        it must throw a WebServiceException.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Service instance configured with requested web service features</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If any error in creation of the
                    specified service</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, JAX-WS 2.2</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../jakarta/xml/ws/ResponseWrapper.html" title="annotation in jakarta.xml.ws"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/ws/Service.Mode.html" title="enum in jakarta.xml.ws"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/ws/Service.html" target="_top">Frames</a></li>
<li><a href="Service.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
