<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_101) on Mon Sep 19 17:00:15 EDT 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UDDISubscriptionPortType (UDDIv2 and v3 WS Stubs and Schema Bindings Generated from WSDL 3.3.11-SNAPSHOT API)</title>
<meta name="date" content="2022-09-19">
<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="UDDISubscriptionPortType (UDDIv2 and v3 WS Stubs and Schema Bindings Generated from WSDL 3.3.11-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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="class-use/UDDISubscriptionPortType.html">Use</a></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="../../../org/uddi/v3_service/UDDISubscriptionListenerPortType.html" title="interface in org.uddi.v3_service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/uddi/v3_service/UDDIValueSetCachingPortType.html" title="interface in org.uddi.v3_service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/uddi/v3_service/UDDISubscriptionPortType.html" target="_top">Frames</a></li>
<li><a href="UDDISubscriptionPortType.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>Constr&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>Constr&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">org.uddi.v3_service</div>
<h2 title="Interface UDDISubscriptionPortType" class="title">Interface UDDISubscriptionPortType</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/Remote.html?is-external=true" title="class or interface in java.rmi">Remote</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">UDDISubscriptionPortType</span>
extends <a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/Remote.html?is-external=true" title="class or interface in java.rmi">Remote</a></pre>
<div class="block">This portType defines all of the UDDI subscription operations.

 This class was generated by the JAX-WS RI. JAX-WS RI 2.1.5-b03- Generated
 source version: 2.1

 Subscription provides clients, known as subscribers, with the ability to register their interest in receiving information concerning changes made in a UDDI registry.  These changes can be scoped based on preferences provided with the request.  The APIs described below support this capability.  Usage scenarios and examples are provided in Appendix C Supporting Subscribers.  Each of the subscription APIs described here are OPTIONAL for UDDI implementations and MAY be implemented entirely at the discretion of a Node.<br><br>
 
 <p class="MsoBodyText">The subscription API set satisfies a variety of
requirements.&nbsp; The flexibility of the subscription API allows monitoring of activity
in a registry by registering to track new, changed and deleted entries for each
of these entities:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>businessEntity</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>businessService</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>bindingTemplate</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>tModel</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>related businessEntity</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>publisherAssertion (limited to those publisherAssertions for
which the subscriber owns at least one of the businesses referenced)</p>

<p class="MsoBodyText">With the exception of single publisher registries
subscription typically is limited to authorized clients as a matter of node
policy.&nbsp; Therefore, subscribers MUST typically authenticate with the node
before saving subscription requests.&nbsp; Individual nodes, including those in the
UDDI Business Registry, MAY establish policies concerning the use of the
subscription APIs they choose to offer. Such policies might include restricting
the use of subscription, defining which APIs are supported, establishing
whether subscriptions require authentication, defining special rules affecting
different classes of subscriptions, or even imposing fees for the use of these
services.&nbsp; The use of the authInfo argument is OPTIONAL throughout the
subscription APIs, although registries which support multiple users or which
require authentication for publishing operations typically require it.&nbsp; </p>

<p class="MsoBodyText">Subscription allows subscribers to "monitor" a
particular subset of data within a registry.&nbsp; Two patterns are defined.&nbsp; Nodes MAY support either or both:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Asynchronous notification – subscribers choose to be
asynchronously notified by the node when registry data of interest changes via
calls to the notify_subscriptionListener API, which they implement as a "subscription
listener" service.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Synchronous change tracking – subscribers issue a synchronous
request using the get_subscriptionResults API to obtain information on activity
in the registry which matches their subscription preferences.</p>

<p class="MsoBodyText">A subscription request establishes criteria for the
subscription and specifies how and if the subscriber is to be notified of
changes matching the specified criteria.&nbsp; Any of the existing standard inquiry
APIs (find_xx and get_xx) may be used within a subscription request to define
the criteria, although nodes are free to restrict which inquiry APIs are
supported in subscription as a matter of policy.&nbsp; The duration, or life of a
subscription is also a matter of node policy, but subscribers can renew existing
subscriptions periodically instead of having to create new ones.&nbsp; Subscribers
may also create multiple subscriptions.&nbsp; Each subscription request is treated
independently.&nbsp; The level of detail provided for the data returned is
controlled by the subscription request.</p>

<p class="MsoBodyText">When asynchronous notifications are requested,
subscriptions provide information on new, changed or deleted entities within a
registry that occur <i>after</i> the point in time that the subscription is
registered.&nbsp; A node notifies subscribers based upon its identification of data
matching the requested subscription criteria.&nbsp; Subscribers can choose to have
these notifications provided via email or an HTTP/SOAP-based Web service, which
the subscriber MAY implement. Such services are called "subscription
listeners."&nbsp; Notifications are made periodically rather than in response
to the continuous stream of changes that normally occur within the registry.&nbsp;
This means that subscription results provided via notifications pertain only to
the <i>current</i> state of the entities at the time they are reported –
intermediate state changes are not provided.&nbsp; While subscribers can specify a
frequency for these notifications, nodes MAY choose to restrict this as a
matter of policy.</p>

<p class="MsoBodyText">When synchronous requests are made for subscription
results, the <i>current</i> state of the registry data, which matches the
subscription criteria, is returned for entries that were last created, changed
or deleted within a specified date range.&nbsp; Prior states of the registry data
are not available and are not returned.</p>

<p class="MsoBodyText">Subscriptions are owned by the subscriber who creates
them.&nbsp; A subscriptionKey, which distinguishes each individual subscription, is
not visible to anyone except the subscriber.&nbsp; While node policy MAY permit others besides the subscription’s owner to receive or retrieve subscription results,
such interested parties require knowledge of the relevant subscriptionKey from
the subscription owner in order to do so.</p>

<h4 style="margin-left:0in;text-indent:0in"><a name="_Toc42047329"></a><a name="_Ref535515666">5.5.1.1 Definition of Changed Entities</a></h4>

<p class="MsoBodyText">As stated above, the subscription API allows monitoring of
new, changed and deleted entities. This section provides the definition of
changed entities.&nbsp; The following are the criteria for considering an entity to
have been "changed":</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>For businessEntity, businessService, bindingTemplate, and tModel:
<br>
The entity is considered to be changed if the modifiedIncludingChildren element
of the operationalInfo element of the entity has been changed.</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>For publisherAssertion:<br>
A publisherAssertion is considered to be changed if the publisher has updated
the publisherAssertion via the set_publisherAssertions,&nbsp; or
add_publisherAssertions APIs.</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>For related businessEntity: <br>
A related businessEntity (related to the business specified in the businessKey
argument of find_relatedBusinesses API) is considered to be changed if either:</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.5in;text-indent:-.25in">1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>the related businessEntity is changed, or</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.5in;text-indent:-.25in">2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>at least one of the two reciprocal publisherAssertions that represents
the relationship is changed.</p>

<h3><a name="_Toc85908130"></a><a name="_Toc53709324"></a><a name="_Toc45096409"></a><a name="_Toc45095952">5.5.2 Specifying Durations</a></h3>

<p class="MsoBodyText">Time durations used in the subscription APIs are of type
xsd:duration defined in XML Schema from <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#ISO8601"><span style="color:windowtext;text-decoration:none">[ISO 8601]</span></a>.&nbsp; Any form
supported by this data type is permitted.&nbsp; For example, the lexical
representation extended format can be used, which is of the form PnYnMnDTnHnMnS,
where nY represents the number of years, nM the number of months, nD the number
of days, 'T' is the date/time separator, nH the number of hours, nM the number
of minutes and nS the number of seconds. The "P" identifies the field
as duration.&nbsp; The number of seconds can include decimal digits to arbitrary
precision.</p>

<h3><a name="_Toc85908131"></a><a name="_Toc53709325"></a><a name="_Toc45096410"></a><a name="_Toc45095953"></a><a name="_Toc42047330">5.5.3 Specifying Points in Time</a></h3>

<p class="MsoBodyText">Points in time used in the subscription APIs are all of
the XML Schema type, xsd:dateTime.&nbsp; Two points in time are used to specify a
period of time.</p>

<h3><a name="_Toc85908132"></a><a name="_Toc53709326"></a><a name="_Toc45096411"></a><a name="_Toc45095954"></a><a name="_Toc42047331"></a><a name="_Ref3402225">5.5.4 Subscription
Coverage Period</a></h3>

<p class="MsoBodyText">The APIs, which support each of the patterns previously
described for obtaining subscription results, accept a coveragePeriod argument,
which is composed of two points in time.&nbsp; Each of these corresponds to the last
point in time which any given entity in the registry was modified (i.e.,
created, deleted or changed).&nbsp; The syntax of this element is:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image094.gif" border="0" height="104" width="357"></p>

<p class="MsoBodyText">Where<b><i>:</i></b></p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>startPoint</b>: Signifies the point in time after which
subscription results are to be collected and/or returned. The startPoint is
optional. If it is not specified, this indicates that all available results are
to be returned from the beginning of the registry.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>endPoint</b>:&nbsp; Signifies the point in time corresponding to
the last activity date for entities matching subscription results.&nbsp; No activity
among matching entities, which occurred after this point in time, is returned.
The endPoint is optional. If not provided, it signifies that the latest changes
available, which match the subscription criterions that are to be returned. </p>

<p class="MsoBodyText">With respect to notifications, the startPoint of a given
notification SHOULD align with the endPoint of the previous notification.&nbsp; If
this is not the case, the subscriber SHOULD assume a notification was missed,
or lost.&nbsp; The subscriber can then take corrective action by using the
get_subscriptionResults API. Note that it is permissible for nodes to send the
same data more than once, depending on overlaps in these times.</p>

<h3><a name="_Toc85908133"></a><a name="_Toc53709327"></a><a name="_Toc45096412"></a><a name="_Toc45095955"></a><a name="_Toc42047332"></a><a name="_Ref4234690">5.5.5 Chunking
of Returned Subscription Data</a><a name="_Ref535517771"></a></h3>

<p class="MsoBodyText">If a subscriber specifies a maximum number of entries to
be returned with a subscription and the amount of data to be returned exceeds
this limit, or if the node determines based on its policy that there are too
many entries to be returned in a single group, then the node SHOULD provide a
chunkToken with results.&nbsp; The chunkToken is a string based token which is used
by the node to maintain the state of the subscription results for a particular
caller, when these results are chunked across multiple responses.&nbsp; The format
and content of the chunkToken is a matter of implementation choice by
individual nodes. The chunkToken returned with a particular subscription result
set SHOULD be used to retrieve subsequent results when subscription results are
requested in a synchronous manor.&nbsp; If no more results are pending, the value of
the chunkToken MUST be "0".</p>

<p class="MsoBodyText">A chunkToken is intended as a short-term aid in obtaining
contiguous results across multiple API calls and is therefore likely to remain
valid for only a short time.&nbsp; Nodes MAY establish policies on how long a
chunkToken remains valid.</p>

<h3><a name="_Toc85908134"></a><a name="_Toc53709328"></a><a name="_Toc45096413"></a><a name="_Toc45095956"></a><a name="_Toc42047333"></a><a name="_Ref3401043">5.5.6 Use
of keyBag in Subscription</a></h3>

<p class="MsoBodyText">The subscription results returned by the subscription APIs
allow for the use of a structure called a keyBag.&nbsp; A keyBag contains a list of
entity keys, which correspond to any of the core data structures
(businessEntity, businessService, bindingTemplate or tModel).&nbsp; The keyBag has
two uses.&nbsp; </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Returning results when a "brief" format is selected,
which minimizes returned information.&nbsp; </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Indicating entities which have been deleted, or which no longer
match the subscription criteria provided with the subscription.&nbsp; This later
situation is referred to as a "virtual delete", in that the entity in
question may not actually have be deleted from the registry, but it no longer
matches the criterion which the subscriber defined in the subscription for
tracking registry changes.&nbsp; It should be noted that nodes MUST maintain
information pertaining to registry changes for both forms of deletion, to be
reported with subscription results for applicable subscriptions, although they MAY establish policies on how long such information is retained. Further details on the use of
this structure are discussed in the relevant API sections that follow.&nbsp; When
the keyBag is used for deleted entities, the deleted element is set to "true,"
and all entities listed in such a keyBag are assumed to represent deletions.<br>
<br>
</p>

<p class="MsoBodyText"><span style="font-family:&quot;MS Shell Dlg&quot;;color:black;
letter-spacing:0pt">A UDDI node MUST never inform the subscriber of an entity
that temporarily matched the subscription criteria but was removed or modified
to no longer match the subscription criteria before the subscriber was informed
of the match.</span></p>

<p class="MsoBodyText">A UDDI node MAY inform a subscriber about the real or
virtual deletion of an entity multiple times.</p>

<p class="MsoBodyText">The syntax of a keyBag is shown here:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image095.gif" border="0" height="271" width="371"></p>

<h3><a name="_Toc85908135"></a><a name="_Toc53709329"></a><a name="_Toc45096414"></a><a name="_Toc45095957"></a><a name="_Toc42047334">5.5.7 Subscription </a>API functions</h3>

<p class="MsoBodyText">The APIs in this section describe how to interact with a
UDDI node implementation to create and manage requests for the tracking of new
and changed registry content.&nbsp; These APIs are synchronous and are exposed via SOAP, although the notifications they may generate are not.&nbsp; </p>

<p class="MsoBodyText">The subscription APIs are: </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>delete_subscription: </b>&nbsp;Cancels one or more specified
subscriptions.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>get_subscriptionResults:</b>&nbsp; Synchronously returns registry
data pertaining to a particular subscription within a specified time period.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>get_subscriptions:</b>&nbsp; Returns a list of existing
subscriptions previously saved by the subscriber.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>save_subscription:</b>&nbsp; Establishes a new subscription or
changes an existing one.&nbsp; Also used to renew existing subscriptions.</p>

<p class="MsoBodyText">The OPTIONAL client API is:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>notify_subscriptionListener</b>: A node invoked API which the client implements as a subscription listener service to accept notifications
containing the data that changed since notify_subscriptionListener was last
invoked for a particular subscription.</p></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="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></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="../../../org/uddi/v3_service/UDDISubscriptionPortType.html#deleteSubscription-org.uddi.sub_v3.DeleteSubscription-">deleteSubscription</a></span>(<a href="../../../org/uddi/sub_v3/DeleteSubscription.html" title="class in org.uddi.sub_v3">DeleteSubscription</a>&nbsp;body)</code>
<div class="block">Cancels an existing subscription.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../org/uddi/sub_v3/SubscriptionResultsList.html" title="class in org.uddi.sub_v3">SubscriptionResultsList</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/uddi/v3_service/UDDISubscriptionPortType.html#getSubscriptionResults-org.uddi.sub_v3.GetSubscriptionResults-">getSubscriptionResults</a></span>(<a href="../../../org/uddi/sub_v3/GetSubscriptionResults.html" title="class in org.uddi.sub_v3">GetSubscriptionResults</a>&nbsp;body)</code>
<div class="block">This API allows a subscriber to request that the
information pertaining to an existing subscription be returned.&nbsp; This is
useful, for example, to obtain historical data when a subscription is first set
up or when a subscriber misses the notification normally provided by the
registry.&nbsp; The results are returned synchronously as the response to this
call.&nbsp; The get_subscriptionResults API can also be used as an alternative to
notifications for obtaining subscription data.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/uddi/sub_v3/Subscription.html" title="class in org.uddi.sub_v3">Subscription</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/uddi/v3_service/UDDISubscriptionPortType.html#getSubscriptions-java.lang.String-">getSubscriptions</a></span>(<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;authInfo)</code>
<div class="block">Returns the complete list of existing subscriptions owned by the
 subscriber.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/uddi/v3_service/UDDISubscriptionPortType.html#saveSubscription-java.lang.String-javax.xml.ws.Holder-">saveSubscription</a></span>(<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;authInfo,
                <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/Holder.html?is-external=true" title="class or interface in javax.xml.ws">Holder</a>&lt;<a href="https://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/uddi/sub_v3/Subscription.html" title="class in org.uddi.sub_v3">Subscription</a>&gt;&gt;&nbsp;subscription)</code>
<div class="block">The save_subscription API registers a request to monitor specific registry content and to have the node periodically notify the subscriber when changes are available.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="deleteSubscription-org.uddi.sub_v3.DeleteSubscription-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteSubscription</h4>
<pre>void&nbsp;deleteSubscription(<a href="../../../org/uddi/sub_v3/DeleteSubscription.html" title="class in org.uddi.sub_v3">DeleteSubscription</a>&nbsp;body)
                 throws <a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a>,
                        <a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<div class="block">Cancels an existing subscription.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>body</code> - <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>authInfo</i></b>:&nbsp; This optional argument is an element
that contains an authentication token.&nbsp; Registries that wish to restrict who
can delete a subscription typically require authInfo for this call, though this
is a matter of node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionKey:</i></b>&nbsp; This required argument specifies,
using <i>anyURIs,</i> the subscription or subscriptions to be deleted.</p>
 <Br><b>If no errors occur then an empty message is returned.</b></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>DispositionReportFaultMessage,</code> - RemoteException
 <p class="MsoBodyText">If an error occurs in processing this API call, a dispositionReport structure is returned to the caller in a SOAP Fault.&nbsp; In addition
to the errors common to all APIs, the following error information is relevant
here:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_userMismatch</b>: signifies that an attempt has been made to
use the subscription API to delete a subscription that is controlled by another
party.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidKeyPassed</b>: signifies that the subscriptionKey is
invalid or that the subscription has expired.</p></dd>
<dd><code><a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></dd>
</dl>
</li>
</ul>
<a name="getSubscriptionResults-org.uddi.sub_v3.GetSubscriptionResults-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSubscriptionResults</h4>
<pre><a href="../../../org/uddi/sub_v3/SubscriptionResultsList.html" title="class in org.uddi.sub_v3">SubscriptionResultsList</a>&nbsp;getSubscriptionResults(<a href="../../../org/uddi/sub_v3/GetSubscriptionResults.html" title="class in org.uddi.sub_v3">GetSubscriptionResults</a>&nbsp;body)
                                        throws <a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a>,
                                               <a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<div class="block">This API allows a subscriber to request that the
information pertaining to an existing subscription be returned.&nbsp; This is
useful, for example, to obtain historical data when a subscription is first set
up or when a subscriber misses the notification normally provided by the
registry.&nbsp; The results are returned synchronously as the response to this
call.&nbsp; The get_subscriptionResults API can also be used as an alternative to
notifications for obtaining subscription data. If this is the preference, then
the subscriber SHOULD not provide a bindingKey when saving the associated
subscription. See Section <a href="#_Ref536850105 ">5.5.8</a> <i>save_subscription</i>.&nbsp;
This API is not affected by the value of the notificationInterval in the
subscription.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>body</code> - <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>authInfo</i></b>:&nbsp; This optional argument is an element
that contains an authentication token.&nbsp; Registries that wish to restrict who
can retrieve subscription data typically require authInfo for this call, though
this is a matter of node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>chunkToken</i></b>:&nbsp; This optional argument is used to
retrieve subsequent groups of data when the first call to this API indicates more data is available.&nbsp; This occurs when a chunkToken is returned whose value is
not "0" in the subscriptionResultsList structure described in the
next section. To retrieve the next chunk of data, the value returned should be
used as an argument to the next invocation of this API.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>coveragePeriod</i></b>: This structure defines the time
period over which the most recent changes in node data are compared with the
subscription criteria in order to produce the result set. It provides start and
end date/time information according to the format described in Section <a href="#_Ref3402225 ">5.5.4</a> <i>Subscription Coverage Period</i>.&nbsp; The "current"
state of registry entries pertaining to the subscription referenced by the
subscriptionKey provided are returned if they were last created, changed or
deleted during the specified time period.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionKey:</i></b>&nbsp; This required argument of type
anyURI identifies the subscription for which non-recurring synchronous results
are being sought.</p>
 <img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image101.gif"></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns org.uddi.sub_v3.SubscriptionResultsList
 <p class="MsoBodyText">A subscriptionResultsList is returned whose content is
determined by the coveragePeriod and the criteria in the subscription:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image102.gif" border="0" height="484" width="523"></p>

<p class="MsoBodyText"><b>Attributes</b></p>

<table class="specTable" style="width:45.68%;margin-left:.5in;border-collapse:collapse;border:none" border="1" cellpadding="0" cellspacing="0" width="45%">
 <tbody><tr>
  <td style="width:60.52%;border:solid black 1.0pt;
  background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="60%">
  <p class="MsoNormal"><b>Name&nbsp;&nbsp;</b></p>
  </td>
  <td style="width:39.48%;border:solid black 1.0pt;
  border-left:none;background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="39%">
  <p class="MsoNormal"><b>Use&nbsp;&nbsp;</b></p>
  </td>
 </tr>
 <tr style="height:18.15pt">
  <td style="width:60.52%;border:solid black 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt;height:18.15pt" valign="top" width="60%">
  <p class="MsoNormal">someResultsUnavailable&nbsp;&nbsp;</p>
  </td>
  <td style="width:39.48%;border-top:none;border-left:
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
  padding:0in 5.4pt 0in 5.4pt;height:18.15pt" valign="top" width="39%">
  <p class="MsoNormal">optional&nbsp;&nbsp;</p>
  </td>
 </tr>
</tbody></table>

<p class="MsoBodyText">&nbsp;</p>

<p class="MsoBodyText">Subscription results MAY be chunked.&nbsp; See Section <a href="#_Ref4234690 ">5.5.5</a> <i>Chunking of Returned Subscription Data, </i>for
more information on chunking of results.&nbsp; If results are chunked, then
subsequent "chunks" can be retrieved using the chunkToken returned as
an argument in a subsequent invocation of this API.</p>

<p class="MsoBodyText">Note that the results returned in the
subscriptionResultsList represent a snapshot of the current state of relevant
entries in the registry.&nbsp; They are non-transactional in nature and prior states
cannot be returned.&nbsp; Deleted entities and virtual deletes of entities, which
have been changed in such a way that they no longer match the subscription
criterion saved with the subscription, are returned only in the form of a
keyBag structure, for which the deleted element is set to "true". A
UDDI node MAY inform a subscriber about the real or virtual deletion of an
entity multiple times.</p>

<p class="MsoBodyText">The someResultsUnavailable attribute is set to "true"
whenever the node has found it necessary to flush subscription results
information pertaining to entity deletions (either actual or virtual) which
pertain to this subscription, which have not yet been reported through prior
calls to this API, or through use of the notify_subscriptionListener API described below.&nbsp; The period of time which a node retains information on deletions for a
given subscription is a matter of node policy.</p>

<p class="MsoBodyText">The API used in the subscription filter determines the
sort order for returned entities. By default, they will be sorted according to
the behavior specified in the "returns" section of that API.</p></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>DispositionReportFaultMessage,</code> - RemoteException
 <p class="MsoBodyText">If an error occurs in processing this API call, a dispositionReport structure is returned to the caller in a SOAP Fault.&nbsp; In addition
to the errors common to all APIs, the following error information is relevant
here:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidKeyPassed</b>: signifies that the subscriptionKey is
invalid or that the subscription has expired.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidValue</b>:&nbsp; signifies that the chunkToken value
supplied is either invalid or has expired.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_unsupported</b>: signifies that one of the argument values
was not supported by this implementation. The offending argument is clearly
indicated in the error text.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_userMismatch</b>: signifies that, in a violation of node
policy, an attempt has been made to use the subscription API to change a subscription that is controlled by another party.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidTime</b>:&nbsp; signifies that one or both of the values
provided in the coveragePeriod range is invalid or does not define a range.&nbsp;
The error structure signifies the condition that occurred and the error text
clearly calls out the cause of the problem.</p></dd>
<dd><code><a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></dd>
</dl>
</li>
</ul>
<a name="getSubscriptions-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSubscriptions</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true" title="class or interface in javax.xml.ws">@RequestWrapper</a>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true#localName--" title="class or interface in javax.xml.ws">localName</a>="get_subscriptions",
                <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true#targetNamespace--" title="class or interface in javax.xml.ws">targetNamespace</a>="urn:uddi-org:sub_v3",
                <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true#className--" title="class or interface in javax.xml.ws">className</a>="org.uddi.sub_v3.GetSubscriptions")
 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true" title="class or interface in javax.xml.ws">@ResponseWrapper</a>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true#localName--" title="class or interface in javax.xml.ws">localName</a>="subscriptions",
                 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true#targetNamespace--" title="class or interface in javax.xml.ws">targetNamespace</a>="urn:uddi-org:sub_v3",
                 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true#className--" title="class or interface in javax.xml.ws">className</a>="org.uddi.sub_v3.Subscriptions")
<a href="https://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/uddi/sub_v3/Subscription.html" title="class in org.uddi.sub_v3">Subscription</a>&gt;&nbsp;getSubscriptions(<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;authInfo)
                                                                                                                                                                                                                                                                                                                                                                        throws <a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a>,
                                                                                                                                                                                                                                                                                                                                                                               <a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<div class="block">Returns the complete list of existing subscriptions owned by the
 subscriber.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authInfo</code> - authInfo: This optional argument is an element that
 contains an authentication token. Registries that wish to restrict who
 can obtain information on subscriptions typically require authInfo for
 this call, though this is a matter of node policy.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>returns java.util.List<org.uddi.sub_v3.Subscription> This API
 call returns information on all of the subscriptions owned by the
 subscriber, together with the expiration date for each. The subscriptions
 structure returned contains zero or more subscription structures, each
 pertaining to a subscription. Only subscriptions created by the invoking
 subscriber are returned. See Section 5.5.8.1, [save_subscription] Syntax,
 for details on these structures.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>DispositionReportFaultMessage,</code> - RemoteException</dd>
<dd><code><a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></dd>
</dl>
</li>
</ul>
<a name="saveSubscription-java.lang.String-javax.xml.ws.Holder-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>saveSubscription</h4>
<pre><a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true" title="class or interface in javax.xml.ws">@RequestWrapper</a>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true#localName--" title="class or interface in javax.xml.ws">localName</a>="save_subscription",
                <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true#targetNamespace--" title="class or interface in javax.xml.ws">targetNamespace</a>="urn:uddi-org:sub_v3",
                <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/RequestWrapper.html?is-external=true#className--" title="class or interface in javax.xml.ws">className</a>="org.uddi.sub_v3.SaveSubscription")
 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true" title="class or interface in javax.xml.ws">@ResponseWrapper</a>(<a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true#localName--" title="class or interface in javax.xml.ws">localName</a>="subscriptions",
                 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true#targetNamespace--" title="class or interface in javax.xml.ws">targetNamespace</a>="urn:uddi-org:sub_v3",
                 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/ResponseWrapper.html?is-external=true#className--" title="class or interface in javax.xml.ws">className</a>="org.uddi.sub_v3.Subscriptions")
void&nbsp;saveSubscription(<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;authInfo,
                                                                                                                                                                                                                                                                                                                                                                 <a href="https://docs.oracle.com/javase/6/docs/api/javax/xml/ws/Holder.html?is-external=true" title="class or interface in javax.xml.ws">Holder</a>&lt;<a href="https://docs.oracle.com/javase/6/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../org/uddi/sub_v3/Subscription.html" title="class in org.uddi.sub_v3">Subscription</a>&gt;&gt;&nbsp;subscription)
                                                                                                                                                                                                                                                                                                                                                          throws <a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a>,
                                                                                                                                                                                                                                                                                                                                                                 <a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></pre>
<div class="block">The save_subscription API registers a request to monitor specific registry content and to have the node periodically notify the subscriber when changes are available.  Notifications are not returned synchronously with results for this API.  Only data that matches the requested subscription criteria and which changes after the point in time that the subscription request is accepted is returned to the subscriber via a notification.

This API returns a duration for which this particular subscription is valid.  Depending upon the policy of the Node, subscriptions need to be renewed before the expiration date in order to insure that they remain active.  Subscriptions can also be redefined or renewed using this API.  The subscriptionKey pertaining to the subscription to be renewed must be supplied in the save_subscription invocation in order to accomplish this. This allows both renewal and changes to the subscription.  Invoking save_subscription automatically resets the expiration period for the subscription in question to a value based upon the node’s policy. 
 
 <p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image096.gif" border="0" height="121" width="393"></p>

<p class="MsoBodyText">The syntax of the subscription structure is:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image097.gif" border="0" height="236" width="389"></p>

<p class="MsoBodyText"><b>Attributes</b></p>

<table class="specTable" style="width:33.34%;margin-left:.5in;border-collapse:collapse;border:none" border="1" cellpadding="0" cellspacing="0" width="33%">
 <tbody><tr>
  <td style="width:49.98%;border:solid black 1.0pt;
  background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="49%">
  <p class="MsoNormal"><b>Name&nbsp;&nbsp;</b></p>
  </td>
  <td style="width:50.02%;border:solid black 1.0pt;
  border-left:none;background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="50%">
  <p class="MsoNormal"><b>Use&nbsp;&nbsp;</b></p>
  </td>
 </tr>
 <tr>
  <td style="width:49.98%;border:solid black 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt" valign="top" width="49%">
  <p class="MsoNormal">brief&nbsp;&nbsp;</p>
  </td>
  <td style="width:50.02%;border-top:none;border-left:
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
  padding:0in 5.4pt 0in 5.4pt" valign="top" width="50%">
  <p class="MsoNormal">optional&nbsp;&nbsp;</p>
  </td>
 </tr>
</tbody></table>

<p class="MsoBodyText">&nbsp;</p>

<span style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"><br style="page-break-before:always" clear="all">
</span>

<p class="MsoBodyText">&nbsp;</p>

<p class="MsoBodyText">The syntax of the subscriptionFilter structure is:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image098.gif" border="0" height="368" width="441"></p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>subscription</code> - <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>bindingKey:</i></b>&nbsp; This optional argument of type anyURI
specifies the <i>bindingTemplate</i> which the node is to use to deliver
notifications to subscription listeners.&nbsp; It is only required when asynchronous
notifications are used.&nbsp; This <i>bindingTemplate</i> MUST define either a Web
service that implements notify_subscriptionListener (see below), or an email
address to receive the notifications. If a notify_subscriptionListener Web
service is identified, the node invokes it to deliver notifications.&nbsp; If an
email address is identified, the node delivers notifications via email to the
address supplied. When notifications are delivered via email, the body of the
email contains the body of the SOAP message, which would have been sent to the
notify_subscriptionListener service if that option had been chosen.<span class="MsoCommentReference"><span style="display:none">.</span></span> The
publisher making the subscription request MUST own the bindingTemplate.&nbsp; If
this argument is not supplied, no notifications are sent, although subscribers
may still use the get_subscriptionResults API to obtain subscription results.&nbsp;
See Section <a href="#_Ref536844845 ">5.5.11</a> <i>get_subscriptionResults </i>for
details.&nbsp; If email delivery to the specified address fails, nodes MAY attempt re-delivery, but are not obligated to do so.&nbsp; Depending upon node policy, excessive
delivery failures MAY result in cancellation of the corresponding subscription.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>brief</i></b>:&nbsp; This optional argument controls the level
of detail returned to a subscription listener.&nbsp; The default is "false"
when omitted. When set to "true," it indicates that the subscription
results are to be returned to the subscriber in the form of a keyBag, listing
all of the entities that matched the subscriptionFilter.&nbsp; Refer to Section <a href="#_Ref3401043 ">5.5.6</a> <i>Use of keyBag in Subscription,</i> for
additional information.&nbsp; This option has no effect on the assertionStatusReport
structure, which is returned as part of a notification when the
subscriptionFilter specifies the get_assertionStatusReport filter criteria.&nbsp;
See the explanation of subscriptionFilter below.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>expiresAfter</i></b>:&nbsp; This optional argument allows
subscribers to specify the period of time for which they would like the
subscription to exist.&nbsp; It is of the XML Schema type xsd:dateTime.&nbsp; Specifying
a value for this argument is no guarantee that the node will accept it without
change.&nbsp; Information on the format of expiresAfter can be found in Section <a href="#_Ref535515666 ">5.5.1.1</a> <i>Specifying Durations</i>.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>maxEntities</i></b>:&nbsp; This optional integer specifies the
maximum number of entities in a notification returned to a subscription
listener. If not specified, the number of entities sent is not limited, unless
by node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionFilter</i></b>:&nbsp; This argument specifies the
filtering criteria which limits the scope of a subscription to a subset of
registry records. It is required except when renewing an existing subscription.
The get_xx and find_xx APIs are all valid choices for use as a
subscriptionFilter.&nbsp; Only one of these can be chosen for each subscription.&nbsp;
Notifications, based on the subscriptionFilter, are sent to the subscriber if
and only if there are changes at the node, which match this criterion during a
notification period.&nbsp; A subscriptionFilter MUST contain exactly one of the
allowed inquiry elements. The authInfo argument of the specified get_xx or
find_xx API call is not required here and is ignored if specified.&nbsp; All of the
other arguments supported with each of these inquiry APIs are valid for use
here.</p>

<p class="MsoBodyText" style="margin-left:1.0in">Specifying find_relatedBusinesses
is useful for tracking when reciprocal relationships are formed or dissolved.&nbsp;
Specifying get_assertionStatusReport can be used in tracking when reciprocal
relationships (which pertain to a business owned by the subscriber) are formed,
dissolved, or requested by the owners of some other business.</p>

<p class="MsoBodyText" style="margin-left:1.0in">For a get_assertionStatusReport
based subscription, there is a specific status value, <b>status:both_incomplete</b>,
defined in the XML schema. When appearing in an assertionStatusItem of a
subscriptionResultsList, status:both_incomplete indicates that the publisher
assertion embedded in the assertionStatusItem has been deleted from both ends. </p>

<p class="MsoBodyText" style="margin-left:1.0in">Note that the above handling of
deleted publisher assertions is different from the case when a business entity,
business service, binding template, or tModel is removed. In the latter case,
the key to the entity in question is simply put inside a keyBag. A publisher
assertion, on the other hand, has no key and therefore the keyBag idea is not
applicable.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionKey</i></b>:&nbsp; This optional argument of type <i>anyURI</i>
identifies the subscription.&nbsp; To renew or change an existing subscription, a
valid subscriptionKey MUST be provided. When establishing a new subscription,
the subscriptionKey MAY also be either omitted or specified as an empty string in
which case the node MUST assign a unique key. If subscriptionKey is specified
for a new subscription, the key MUST conform to the registry’s policy on
publisher-assigned keys.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>notificationInterval</i></b>:&nbsp; This optional argument is
only required when asynchronous notifications are used.&nbsp; It is of type
xsd:duration and specifies how often change notifications are to be provided to
a subscriber.&nbsp; If the notificationInterval specified is not acceptable due to
node policy, then the node adjusts the value to match the next longer time
period that is supported.&nbsp; The adjusted value is provided with the returns from
this API.&nbsp; Also see Section <a href="#_Ref535515666 ">5.5.1.1</a> <i>Specifying
Durations</i>.</p></dd>
<dd><code>authInfo</code> - authInfo:  This optional argument is an element that contains an authentication token.  Registries that wish to restrict who can save a subscription typically require authInfo for this call, though this is a matter of node policy.
 <br><br>
 return <p class="MsoBodyText">Upon successful completion this API returns a <i>subscriptions</i>
structure.&nbsp; Included in the subscription structure(s) it MUST contain is a <i>subscriptionKey</i>
(of type anyURI) that is used by the subscriber to manage the subscription.&nbsp;&nbsp;
This key is required in order to delete (unsubscribe), modify or renew the
subscription.&nbsp;&nbsp; If a subscriber has multiple subscriptions, the subscriptionKey
can be used to distinguish between different subscriptions.&nbsp; The <i>subscriptionKey</i>
is also part of the data contained in the notifications returned to subscription
listeners.&nbsp; </p>

<p class="MsoBodyText">&nbsp;</p>

<p class="MsoBodyText">The subscription structure(s) returned from this API, MUST each contain an <i>expiresAfter</i> value, which has been assigned by the node.&nbsp; Nodes
SHOULD attempt to honor the value(s) provided with the save_subscription
request, but MAY modify them based on node policy.&nbsp;&nbsp;&nbsp; Depending upon the node’s
policy, the node MAY delete a subscription after it has expired.</p>

<p class="MsoBodyText">The value of the <i>notificationInterval</i> included in
the subscription structure(s) returned MAY be adjusted by the node to the value
closest to that requested which is supported by its policies. Depending upon
the Registry’s workload a node MAY skip a notification cycle.&nbsp; If a cycle is
skipped, the next notification sent SHOULD include information based on
registry activity, which has occurred since the last notification was issued.</p></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>DispositionReportFaultMessage,</code> - RemoteException
 <p class="MsoBodyText">If any error occurs in processing this API call, a dispositionReport structure is returned to the caller in a SOAP Fault.&nbsp; In addition
to the errors common to all APIs, the following error information is relevant
here:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidKeyPassed</b>: signifies that an entity key value
passed did not match with any known key values.&nbsp; The error structure signifies
that the condition occurred and the error text clearly calls out the offending
key.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_unsupported</b>: signifies that one of the argument values
was not supported by this implementation. The offending argument is clearly
indicated in the error text.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_resultSetTooLarge</b>: signifies that the node refuses to
accept the subscription because it deems that result sets associated with the
subscription are too large.&nbsp; The subscription criteria that triggered this
error should be refined and re-issued. </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_accountLimitExceeded</b>: signifies that the request
exceeded the quantity limits for subscription requests, based on node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_userMismatch</b>: signifies that an attempt has been made to
use the subscription API to change a subscription that is controlled by another
party. Or that the bindingTemplate specified does not belong to the publisher.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_requestDenied</b>: signifies that the subscription cannot be
renewed. The request has been denied due to either node or registry policy.</p></dd>
<dd><code><a href="../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/6/docs/api/java/rmi/RemoteException.html?is-external=true" title="class or interface in java.rmi">RemoteException</a></code></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="class-use/UDDISubscriptionPortType.html">Use</a></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="../../../org/uddi/v3_service/UDDISubscriptionListenerPortType.html" title="interface in org.uddi.v3_service"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../org/uddi/v3_service/UDDIValueSetCachingPortType.html" title="interface in org.uddi.v3_service"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/uddi/v3_service/UDDISubscriptionPortType.html" target="_top">Frames</a></li>
<li><a href="UDDISubscriptionPortType.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>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
