<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Provider</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Provider";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":10,"i2":10,"i3":6,"i4":10,"i5":6,"i6":10,"i7":6,"i8":10,"i9":6,"i10":9,"i11":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/spi/Invoker.html" title="class in jakarta.xml.ws.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../jakarta/xml/ws/spi/ServiceDelegate.html" title="class in jakarta.xml.ws.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?jakarta/xml/ws/spi/Provider.html" target="_top">Frames</a></li>
<li><a href="Provider.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>Nested&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.spi</div>
<h2 title="Class Provider" class="title">Class Provider</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>jakarta.xml.ws.spi.Provider</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Provider</span>
extends java.lang.Object</pre>
<div class="block">Service provider for <code>ServiceDelegate</code> and
 <code>Endpoint</code> objects.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/spi/Provider.html#Provider--">Provider</a></span>()</code>
<div class="block">Creates a new instance of Provider</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>abstract <a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createAndPublishEndpoint-java.lang.String-java.lang.Object-">createAndPublishEndpoint</a></span>(java.lang.String&nbsp;address,
                        java.lang.Object&nbsp;implementor)</code>
<div class="block">Creates and publishes an endpoint object with the specified
 address and implementation object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createAndPublishEndpoint-java.lang.String-java.lang.Object-jakarta.xml.ws.WebServiceFeature...-">createAndPublishEndpoint</a></span>(java.lang.String&nbsp;address,
                        java.lang.Object&nbsp;implementor,
                        <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates and publishes an endpoint object with the specified
 address, implementation object and web service features.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createEndpoint-java.lang.String-java.lang.Class-jakarta.xml.ws.spi.Invoker-jakarta.xml.ws.WebServiceFeature...-">createEndpoint</a></span>(java.lang.String&nbsp;bindingId,
              java.lang.Class&lt;?&gt;&nbsp;implementorClass,
              <a href="../../../../jakarta/xml/ws/spi/Invoker.html" title="class in jakarta.xml.ws.spi">Invoker</a>&nbsp;invoker,
              <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates an endpoint object with the provided binding, implementation
 class, invoker and web service features.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createEndpoint-java.lang.String-java.lang.Object-">createEndpoint</a></span>(java.lang.String&nbsp;bindingId,
              java.lang.Object&nbsp;implementor)</code>
<div class="block">Creates an endpoint object with the provided binding and implementation
 object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createEndpoint-java.lang.String-java.lang.Object-jakarta.xml.ws.WebServiceFeature...-">createEndpoint</a></span>(java.lang.String&nbsp;bindingId,
              java.lang.Object&nbsp;implementor,
              <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates an endpoint object with the provided binding, implementation
 object and web service features.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../jakarta/xml/ws/spi/ServiceDelegate.html" title="class in jakarta.xml.ws.spi">ServiceDelegate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createServiceDelegate-java.net.URL-javax.xml.namespace.QName-java.lang.Class-">createServiceDelegate</a></span>(java.net.URL&nbsp;wsdlDocumentLocation,
                     javax.xml.namespace.QName&nbsp;serviceName,
                     java.lang.Class&lt;? extends <a href="../../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&gt;&nbsp;serviceClass)</code>
<div class="block">Creates a service delegate object.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/ws/spi/ServiceDelegate.html" title="class in jakarta.xml.ws.spi">ServiceDelegate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createServiceDelegate-java.net.URL-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">createServiceDelegate</a></span>(java.net.URL&nbsp;wsdlDocumentLocation,
                     javax.xml.namespace.QName&nbsp;serviceName,
                     java.lang.Class&lt;? extends <a href="../../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&gt;&nbsp;serviceClass,
                     <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</code>
<div class="block">Creates a service delegate object.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../jakarta/xml/ws/wsaddressing/W3CEndpointReference.html" title="class in jakarta.xml.ws.wsaddressing">W3CEndpointReference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createW3CEndpointReference-java.lang.String-javax.xml.namespace.QName-javax.xml.namespace.QName-java.util.List-java.lang.String-java.util.List-">createW3CEndpointReference</a></span>(java.lang.String&nbsp;address,
                          javax.xml.namespace.QName&nbsp;serviceName,
                          javax.xml.namespace.QName&nbsp;portName,
                          java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;metadata,
                          java.lang.String&nbsp;wsdlDocumentLocation,
                          java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;referenceParameters)</code>
<div class="block">Factory method to create a <code>W3CEndpointReference</code>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/ws/wsaddressing/W3CEndpointReference.html" title="class in jakarta.xml.ws.wsaddressing">W3CEndpointReference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#createW3CEndpointReference-java.lang.String-javax.xml.namespace.QName-javax.xml.namespace.QName-javax.xml.namespace.QName-java.util.List-java.lang.String-java.util.List-java.util.List-java.util.Map-">createW3CEndpointReference</a></span>(java.lang.String&nbsp;address,
                          javax.xml.namespace.QName&nbsp;interfaceName,
                          javax.xml.namespace.QName&nbsp;serviceName,
                          javax.xml.namespace.QName&nbsp;portName,
                          java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;metadata,
                          java.lang.String&nbsp;wsdlDocumentLocation,
                          java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;referenceParameters,
                          java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;elements,
                          java.util.Map&lt;javax.xml.namespace.QName,java.lang.String&gt;&nbsp;attributes)</code>
<div class="block">Factory method to create a <code>W3CEndpointReference</code>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract &lt;T&gt;&nbsp;T</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.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 getPort method returns a proxy.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="../../../../jakarta/xml/ws/spi/Provider.html" title="class in jakarta.xml.ws.spi">Provider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#provider--">provider</a></span>()</code>
<div class="block">Creates a new provider object.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/ws/spi/Provider.html#readEndpointReference-javax.xml.transform.Source-">readEndpointReference</a></span>(javax.xml.transform.Source&nbsp;eprInfoset)</code>
<div class="block">read an EndpointReference from the infoset contained in
 <code>eprInfoset</code>.</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="Provider--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Provider</h4>
<pre>protected&nbsp;Provider()</pre>
<div class="block">Creates a new instance of Provider</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="provider--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>provider</h4>
<pre>public static&nbsp;<a href="../../../../jakarta/xml/ws/spi/Provider.html" title="class in jakarta.xml.ws.spi">Provider</a>&nbsp;provider()</pre>
<div class="block">Creates a new provider object.
 <p>
 The algorithm used to locate the provider subclass to use consists
 of the following steps:
 <ul>
  <li> Use the service-provider loading facilities, defined by the <code>ServiceLoader</code> class,
  to attempt to locate and load an implementation of <a href="../../../../jakarta/xml/ws/spi/Provider.html" title="class in jakarta.xml.ws.spi"><code>Provider</code></a> service using
  the default loading mechanism.
  <li>Use the configuration file "jaxws.properties". The file is in standard
  <code>Properties</code> format and typically located in the
  <code>conf</code> directory of the Java installation. It contains the fully qualified
  name of the implementation class with the key <code>jakarta.xml.ws.spi.Provider</code>.
  <li> If a system property with the name <code>jakarta.xml.ws.spi.Provider</code>
  is defined, then its value is used as the name of the implementation class.
  <li> Finally, a platform default implementation is used.
 </ul></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>provider object</dd>
</dl>
</li>
</ul>
<a name="createServiceDelegate-java.net.URL-javax.xml.namespace.QName-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createServiceDelegate</h4>
<pre>public abstract&nbsp;<a href="../../../../jakarta/xml/ws/spi/ServiceDelegate.html" title="class in jakarta.xml.ws.spi">ServiceDelegate</a>&nbsp;createServiceDelegate(java.net.URL&nbsp;wsdlDocumentLocation,
                                                      javax.xml.namespace.QName&nbsp;serviceName,
                                                      java.lang.Class&lt;? extends <a href="../../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&gt;&nbsp;serviceClass)</pre>
<div class="block">Creates a service delegate object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wsdlDocumentLocation</code> - A URL pointing to the WSDL document
        for the service, or <code>null</code> if there isn't one.</dd>
<dd><code>serviceName</code> - The qualified name of the service.</dd>
<dd><code>serviceClass</code> - The service class, which MUST be either
        <code>jakarta.xml.ws.Service</code> or a subclass thereof.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The newly created service delegate.</dd>
</dl>
</li>
</ul>
<a name="createServiceDelegate-java.net.URL-javax.xml.namespace.QName-java.lang.Class-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createServiceDelegate</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/ws/spi/ServiceDelegate.html" title="class in jakarta.xml.ws.spi">ServiceDelegate</a>&nbsp;createServiceDelegate(java.net.URL&nbsp;wsdlDocumentLocation,
                                             javax.xml.namespace.QName&nbsp;serviceName,
                                             java.lang.Class&lt;? extends <a href="../../../../jakarta/xml/ws/Service.html" title="class in jakarta.xml.ws">Service</a>&gt;&nbsp;serviceClass,
                                             <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates a service delegate object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>wsdlDocumentLocation</code> - A URL pointing to the WSDL document
        for the service, or <code>null</code> if there isn't one.</dd>
<dd><code>serviceName</code> - The qualified name of the service.</dd>
<dd><code>serviceClass</code> - The service class, which MUST be either
        <code>jakarta.xml.ws.Service</code> or a subclass thereof.</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>The newly created service delegate.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, JAX-WS 2.2</dd>
</dl>
</li>
</ul>
<a name="createEndpoint-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEndpoint</h4>
<pre>public abstract&nbsp;<a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a>&nbsp;createEndpoint(java.lang.String&nbsp;bindingId,
                                        java.lang.Object&nbsp;implementor)</pre>
<div class="block">Creates an endpoint object with the provided binding and implementation
 object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bindingId</code> - A URI specifying the desired binding (e.g. SOAP/HTTP)</dd>
<dd><code>implementor</code> - A service implementation object to which
        incoming requests will be dispatched. The corresponding
        class MUST be annotated with all the necessary Web service
        annotations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The newly created endpoint.</dd>
</dl>
</li>
</ul>
<a name="createAndPublishEndpoint-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAndPublishEndpoint</h4>
<pre>public abstract&nbsp;<a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a>&nbsp;createAndPublishEndpoint(java.lang.String&nbsp;address,
                                                  java.lang.Object&nbsp;implementor)</pre>
<div class="block">Creates and publishes an endpoint object with the specified
 address and implementation object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - A URI specifying the address and transport/protocol
        to use. A http: URI MUST result in the SOAP 1.1/HTTP
        binding being used. Implementations may support other
        URI schemes.</dd>
<dd><code>implementor</code> - A service implementation object to which
        incoming requests will be dispatched. The corresponding
        class MUST be annotated with all the necessary Web service
        annotations.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The newly created endpoint.</dd>
</dl>
</li>
</ul>
<a name="readEndpointReference-javax.xml.transform.Source-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readEndpointReference</h4>
<pre>public abstract&nbsp;<a href="../../../../jakarta/xml/ws/EndpointReference.html" title="class in jakarta.xml.ws">EndpointReference</a>&nbsp;readEndpointReference(javax.xml.transform.Source&nbsp;eprInfoset)</pre>
<div class="block">read an EndpointReference from the infoset contained in
 <code>eprInfoset</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>eprInfoset</code> - infoset for EndpointReference</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>EndpointReference</code> unmarshalled from
 <code>eprInfoset</code>.  This method never returns <code>null</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 there is an error creating the
 <code>EndpointReference</code> from the specified <code>eprInfoset</code>.</dd>
<dd><code>java.lang.NullPointerException</code> - If the <code>null</code>
 <code>eprInfoset</code> value is given.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</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 abstract&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 getPort method returns a 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 parameter  <code>serviceEndpointInterface</code> specifies
 the service endpoint interface that is supported by the
 returned proxy.
 The parameter <code>endpointReference</code> specifies the
 endpoint that will be invoked by the returned proxy.
 In the implementation of this method, the JAX-WS
 runtime system takes the responsibility of selecting a protocol
 binding (and a port) and configuring the proxy accordingly from
 the WSDL metadata of the
 <code>serviceEndpointInterface</code> and the <code>EndpointReference</code>.
 For this method
 to successfully return a proxy, WSDL metadata MUST be available and the
 <code>endpointReference</code> MUST contain an implementation understood
 <code>serviceName</code> metadata.</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 EndpointReference that will
 be invoked by the returned proxy.</dd>
<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 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 this
                      <code>endpointReference</code>
                      is illegal
                  <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="createW3CEndpointReference-java.lang.String-javax.xml.namespace.QName-javax.xml.namespace.QName-java.util.List-java.lang.String-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createW3CEndpointReference</h4>
<pre>public abstract&nbsp;<a href="../../../../jakarta/xml/ws/wsaddressing/W3CEndpointReference.html" title="class in jakarta.xml.ws.wsaddressing">W3CEndpointReference</a>&nbsp;createW3CEndpointReference(java.lang.String&nbsp;address,
                                                                javax.xml.namespace.QName&nbsp;serviceName,
                                                                javax.xml.namespace.QName&nbsp;portName,
                                                                java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;metadata,
                                                                java.lang.String&nbsp;wsdlDocumentLocation,
                                                                java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;referenceParameters)</pre>
<div class="block">Factory method to create a <code>W3CEndpointReference</code>.

 <p>
 This method can be used to create a <code>W3CEndpointReference</code>
 for any endpoint by specifying the <code>address</code> property along
 with any other desired properties.  This method
 can also be used to create a <code>W3CEndpointReference</code> for
 an endpoint that is published by the same Jakarta EE application.
 To do so the <code>address</code> property can be provided or this
 method can automatically determine the <code>address</code> of
 an endpoint that is published by the same Jakarta EE application and is
 identified by the <code>serviceName</code> and
 <code>portName</code> properties.  If the <code>address</code> is
 <code>null</code> and the <code>serviceName</code> and
 <code>portName</code> do not identify an endpoint published by the
 same Jakarta EE application, a
 <code>javax.lang.IllegalStateException</code> MUST be thrown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - Specifies the address of the target endpoint</dd>
<dd><code>serviceName</code> - Qualified name of the service in the WSDL.</dd>
<dd><code>portName</code> - Qualified name of the endpoint in the WSDL.</dd>
<dd><code>metadata</code> - A list of elements that should be added to the
 <code>W3CEndpointReference</code> instances <code>wsa:metadata</code>
 element.</dd>
<dd><code>wsdlDocumentLocation</code> - URL for the WSDL document location for
 the service.</dd>
<dd><code>referenceParameters</code> - Reference parameters to be associated
 with the returned <code>EndpointReference</code> instance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>W3CEndpointReference</code> created from
          <code>serviceName</code>, <code>portName</code>,
          <code>metadata</code>, <code>wsdlDocumentLocation</code>
          and <code>referenceParameters</code>. This method
          never returns <code>null</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - <ul>
        <li>If the <code>address</code>, <code>serviceName</code> and
            <code>portName</code> are all <code>null</code>.
        <li>If the <code>serviceName</code> service is <code>null</code> and the
            <code>portName</code> is NOT <code>null</code>.
        <li>If the <code>address</code> property is <code>null</code> and
            the <code>serviceName</code> and <code>portName</code> do not
            specify a valid endpoint published by the same Jakarta EE
            application.
        <li>If the <code>serviceName</code>is NOT <code>null</code>
             and is not present in the specified WSDL.
        <li>If the <code>portName</code> port is not <code>null</code> and it
             is not present in <code>serviceName</code> service in the WSDL.
        <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code>
            and does not represent a valid WSDL.
     </ul></dd>
<dd><code><a href="../../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If an error occurs while creating the
                             <code>W3CEndpointReference</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAX-WS 2.1</dd>
</dl>
</li>
</ul>
<a name="createW3CEndpointReference-java.lang.String-javax.xml.namespace.QName-javax.xml.namespace.QName-javax.xml.namespace.QName-java.util.List-java.lang.String-java.util.List-java.util.List-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createW3CEndpointReference</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/ws/wsaddressing/W3CEndpointReference.html" title="class in jakarta.xml.ws.wsaddressing">W3CEndpointReference</a>&nbsp;createW3CEndpointReference(java.lang.String&nbsp;address,
                                                       javax.xml.namespace.QName&nbsp;interfaceName,
                                                       javax.xml.namespace.QName&nbsp;serviceName,
                                                       javax.xml.namespace.QName&nbsp;portName,
                                                       java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;metadata,
                                                       java.lang.String&nbsp;wsdlDocumentLocation,
                                                       java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;referenceParameters,
                                                       java.util.List&lt;org.w3c.dom.Element&gt;&nbsp;elements,
                                                       java.util.Map&lt;javax.xml.namespace.QName,java.lang.String&gt;&nbsp;attributes)</pre>
<div class="block">Factory method to create a <code>W3CEndpointReference</code>.
 Using this method, a <code>W3CEndpointReference</code> instance
 can be created with extension elements, and attributes.
 <code>Provider</code> implementations must override the default
 implementation.

 <p>
 This method can be used to create a <code>W3CEndpointReference</code>
 for any endpoint by specifying the <code>address</code> property along
 with any other desired properties.  This method
 can also be used to create a <code>W3CEndpointReference</code> for
 an endpoint that is published by the same Jakarta EE application.
 To do so the <code>address</code> property can be provided or this
 method can automatically determine the <code>address</code> of
 an endpoint that is published by the same Jakarta EE application and is
 identified by the <code>serviceName</code> and
 <code>portName</code> propeties.  If the <code>address</code> is
 <code>null</code> and the <code>serviceName</code> and
 <code>portName</code> do not identify an endpoint published by the
 same Jakarta EE application, a
 <code>javax.lang.IllegalStateException</code> MUST be thrown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - Specifies the address of the target endpoint</dd>
<dd><code>interfaceName</code> - the <code>wsam:InterfaceName</code> element in the
 <code>wsa:Metadata</code> element.</dd>
<dd><code>serviceName</code> - Qualified name of the service in the WSDL.</dd>
<dd><code>portName</code> - Qualified name of the endpoint in the WSDL.</dd>
<dd><code>metadata</code> - A list of elements that should be added to the
 <code>W3CEndpointReference</code> instances <code>wsa:metadata</code>
 element.</dd>
<dd><code>wsdlDocumentLocation</code> - URL for the WSDL document location for
 the service.</dd>
<dd><code>referenceParameters</code> - Reference parameters to be associated
 with the returned <code>EndpointReference</code> instance.</dd>
<dd><code>elements</code> - extension elements to be associated
 with the returned <code>EndpointReference</code> instance.</dd>
<dd><code>attributes</code> - extension attributes to be associated
 with the returned <code>EndpointReference</code> instance.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>W3CEndpointReference</code> created from
          <code>serviceName</code>, <code>portName</code>,
          <code>metadata</code>, <code>wsdlDocumentLocation</code>
          and <code>referenceParameters</code>. This method
          never returns <code>null</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalStateException</code> - <ul>
        <li>If the <code>address</code>, <code>serviceName</code> and
            <code>portName</code> are all <code>null</code>.
        <li>If the <code>serviceName</code> service is <code>null</code> and the
            <code>portName</code> is NOT <code>null</code>.
        <li>If the <code>address</code> property is <code>null</code> and
            the <code>serviceName</code> and <code>portName</code> do not
            specify a valid endpoint published by the same Jakarta EE
            application.
        <li>If the <code>serviceName</code>is NOT <code>null</code>
             and is not present in the specified WSDL.
        <li>If the <code>portName</code> port is not <code>null</code> and it
             is not present in <code>serviceName</code> service in the WSDL.
        <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code>
            and does not represent a valid WSDL.
        <li>If the <code>wsdlDocumentLocation</code> is NOT <code>null</code> but
            wsdli:wsdlLocation's namespace name cannot be got from the available
            metadata.
     </ul></dd>
<dd><code><a href="../../../../jakarta/xml/ws/WebServiceException.html" title="class in jakarta.xml.ws">WebServiceException</a></code> - If an error occurs while creating the
                             <code>W3CEndpointReference</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, JAX-WS 2.2</dd>
</dl>
</li>
</ul>
<a name="createAndPublishEndpoint-java.lang.String-java.lang.Object-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createAndPublishEndpoint</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a>&nbsp;createAndPublishEndpoint(java.lang.String&nbsp;address,
                                         java.lang.Object&nbsp;implementor,
                                         <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates and publishes an endpoint object with the specified
 address, implementation object and web service features.
 <code>Provider</code> implementations must override the
 default implementation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - A URI specifying the address and transport/protocol
        to use. A http: URI MUST result in the SOAP 1.1/HTTP
        binding being used. Implementations may support other
        URI schemes.</dd>
<dd><code>implementor</code> - A service implementation object to which
        incoming requests will be dispatched. The corresponding
        class MUST be annotated with all the necessary Web service
        annotations.</dd>
<dd><code>features</code> - A list of WebServiceFeatures to configure on the
        endpoint.  Supported features not in the <code>features</code>
        parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The newly created endpoint.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, JAX-WS 2.2</dd>
</dl>
</li>
</ul>
<a name="createEndpoint-java.lang.String-java.lang.Object-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEndpoint</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a>&nbsp;createEndpoint(java.lang.String&nbsp;bindingId,
                               java.lang.Object&nbsp;implementor,
                               <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates an endpoint object with the provided binding, implementation
 object and web service features. <code>Provider</code> implementations
 must override the default implementation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bindingId</code> - A URI specifying the desired binding (e.g. SOAP/HTTP)</dd>
<dd><code>implementor</code> - A service implementation object to which
        incoming requests will be dispatched. The corresponding
        class MUST be annotated with all the necessary Web service
        annotations.</dd>
<dd><code>features</code> - A list of WebServiceFeatures to configure on the
        endpoint.  Supported features not in the <code>features</code>
        parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The newly created endpoint.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.7, JAX-WS 2.2</dd>
</dl>
</li>
</ul>
<a name="createEndpoint-java.lang.String-java.lang.Class-jakarta.xml.ws.spi.Invoker-jakarta.xml.ws.WebServiceFeature...-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createEndpoint</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/ws/Endpoint.html" title="class in jakarta.xml.ws">Endpoint</a>&nbsp;createEndpoint(java.lang.String&nbsp;bindingId,
                               java.lang.Class&lt;?&gt;&nbsp;implementorClass,
                               <a href="../../../../jakarta/xml/ws/spi/Invoker.html" title="class in jakarta.xml.ws.spi">Invoker</a>&nbsp;invoker,
                               <a href="../../../../jakarta/xml/ws/WebServiceFeature.html" title="class in jakarta.xml.ws">WebServiceFeature</a>...&nbsp;features)</pre>
<div class="block">Creates an endpoint object with the provided binding, implementation
 class, invoker and web service features. Containers typically use
 this to create Endpoint objects. <code>Provider</code>
 implementations must override the default implementation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bindingId</code> - A URI specifying the desired binding (e.g. SOAP/HTTP).
        Can be null.</dd>
<dd><code>implementorClass</code> - A service implementation class that
        MUST be annotated with all the necessary Web service
        annotations.</dd>
<dd><code>invoker</code> - that does the actual invocation on the service instance.</dd>
<dd><code>features</code> - A list of WebServiceFeatures to configure on the
        endpoint.  Supported features not in the <code>features
        </code> parameter will have their default values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The newly created endpoint.</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/spi/Invoker.html" title="class in jakarta.xml.ws.spi"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../jakarta/xml/ws/spi/ServiceDelegate.html" title="class in jakarta.xml.ws.spi"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?jakarta/xml/ws/spi/Provider.html" target="_top">Frames</a></li>
<li><a href="Provider.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>Nested&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>
