<!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 16:59:28 EDT 2022 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>UDDICustodyTransferImpl (jUDDI_v3 Parent 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="UDDICustodyTransferImpl (jUDDI_v3 Parent 3.3.11-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/UDDICustodyTransferImpl.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/apache/juddi/api/impl/ServiceCounterLifecycleResource.html" title="class in org.apache.juddi.api.impl"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/juddi/api/impl/UDDIInquiryImpl.html" title="class in org.apache.juddi.api.impl"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/juddi/api/impl/UDDICustodyTransferImpl.html" target="_top">Frames</a></li>
<li><a href="UDDICustodyTransferImpl.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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">org.apache.juddi.api.impl</div>
<h2 title="Class UDDICustodyTransferImpl" class="title">Class UDDICustodyTransferImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html" title="class in org.apache.juddi.api.impl">org.apache.juddi.api.impl.AuthenticatedService</a></li>
<li>
<ul class="inheritance">
<li>org.apache.juddi.api.impl.UDDICustodyTransferImpl</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</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>, <a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html" title="interface in org.uddi.v3_service">UDDICustodyTransferPortType</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">UDDICustodyTransferImpl</span>
extends <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html" title="class in org.apache.juddi.api.impl">AuthenticatedService</a>
implements <a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html" title="interface in org.uddi.v3_service">UDDICustodyTransferPortType</a></pre>
<div class="block">This implements the UDDI v3 Custody Transfer API web service</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juddi/api/impl/UDDICustodyTransferImpl.html#DEFAULT_TRANSFEREXPIRATION_DAYS">DEFAULT_TRANSFEREXPIRATION_DAYS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juddi/api/impl/UDDICustodyTransferImpl.html#TRANSFER_TOKEN_PREFIX">TRANSFER_TOKEN_PREFIX</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.juddi.api.impl.AuthenticatedService">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.juddi.api.impl.<a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html" title="class in org.apache.juddi.api.impl">AuthenticatedService</a></h3>
<code><a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#AUTHTOKEN_ACTIVE">AUTHTOKEN_ACTIVE</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#AUTHTOKEN_RETIRED">AUTHTOKEN_RETIRED</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#baseUrl">baseUrl</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#baseUrlSSL">baseUrlSSL</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#ctx">ctx</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#UTF8">UTF8</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/juddi/api/impl/UDDICustodyTransferImpl.html#UDDICustodyTransferImpl--">UDDICustodyTransferImpl</a></span>()</code>&nbsp;</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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juddi/api/impl/UDDICustodyTransferImpl.html#discardTransferToken-org.uddi.custody_v3.DiscardTransferToken-">discardTransferToken</a></span>(<a href="../../../../../org/uddi/custody_v3/DiscardTransferToken.html" title="class in org.uddi.custody_v3">DiscardTransferToken</a>&nbsp;body)</code>
<div class="block">The discard_transferToken API is a client API used to discard a
 transferToken obtained through the get_transferToken API at the same
 node.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected <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/repl_v3/ChangeRecord.html" title="class in org.uddi.repl_v3">ChangeRecord</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juddi/api/impl/UDDICustodyTransferImpl.html#executeTransfer-org.uddi.custody_v3.TransferEntities-javax.persistence.EntityManager-java.lang.String-java.lang.String-">executeTransfer</a></span>(<a href="../../../../../org/uddi/custody_v3/TransferEntities.html" title="class in org.uddi.custody_v3">TransferEntities</a>&nbsp;body,
               javax.persistence.EntityManager&nbsp;em,
               <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;transferToPublisher,
               <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;transferToNode)</code>
<div class="block">used to factor out the actual execution of custody transfer, used by
 both this service and the replication service.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/juddi/api/impl/UDDICustodyTransferImpl.html#getTransferToken-java.lang.String-org.uddi.custody_v3.KeyBag-javax.xml.ws.Holder-javax.xml.ws.Holder-javax.xml.ws.Holder-">getTransferToken</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="../../../../../org/uddi/custody_v3/KeyBag.html" title="class in org.uddi.custody_v3">KeyBag</a>&nbsp;keyBag,
                <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/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;nodeID,
                <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/javax/xml/datatype/XMLGregorianCalendar.html?is-external=true" title="class or interface in javax.xml.datatype">XMLGregorianCalendar</a>&gt;&nbsp;expirationTime,
                <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;byte[]&gt;&nbsp;opaqueToken)</code>
<div class="block">The get_transferToken API is a client API used to initiate the transfer
 of custody of one or more businessEntity or tModel entities from one node
 to another.</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/apache/juddi/api/impl/UDDICustodyTransferImpl.html#transferEntities-org.uddi.custody_v3.TransferEntities-">transferEntities</a></span>(<a href="../../../../../org/uddi/custody_v3/TransferEntities.html" title="class in org.uddi.custody_v3">TransferEntities</a>&nbsp;body)</code>
<div class="block">The transfer_entities API is used by publishers to whom custody is being
 transferred to actually perform the transfer.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.juddi.api.impl.AuthenticatedService">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.juddi.api.impl.<a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html" title="class in org.apache.juddi.api.impl">AuthenticatedService</a></h3>
<code><a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#getEntityPublisher-javax.persistence.EntityManager-java.lang.String-">getEntityPublisher</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#getNode--">getNode</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#getRequestorsIPAddress--">getRequestorsIPAddress</a>, <a href="../../../../../org/apache/juddi/api/impl/AuthenticatedService.html#setContext-javax.xml.ws.WebServiceContext-">setContext</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="TRANSFER_TOKEN_PREFIX">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TRANSFER_TOKEN_PREFIX</h4>
<pre>public static final&nbsp;<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> TRANSFER_TOKEN_PREFIX</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.juddi.api.impl.UDDICustodyTransferImpl.TRANSFER_TOKEN_PREFIX">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DEFAULT_TRANSFEREXPIRATION_DAYS">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_TRANSFEREXPIRATION_DAYS</h4>
<pre>public static final&nbsp;int DEFAULT_TRANSFEREXPIRATION_DAYS</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.juddi.api.impl.UDDICustodyTransferImpl.DEFAULT_TRANSFEREXPIRATION_DAYS">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="UDDICustodyTransferImpl--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>UDDICustodyTransferImpl</h4>
<pre>public&nbsp;UDDICustodyTransferImpl()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="discardTransferToken-org.uddi.custody_v3.DiscardTransferToken-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>discardTransferToken</h4>
<pre>public&nbsp;void&nbsp;discardTransferToken(<a href="../../../../../org/uddi/custody_v3/DiscardTransferToken.html" title="class in org.uddi.custody_v3">DiscardTransferToken</a>&nbsp;body)
                          throws <a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html#discardTransferToken-org.uddi.custody_v3.DiscardTransferToken-">UDDICustodyTransferPortType</a></code></span></div>
<div class="block">The discard_transferToken API is a client API used to discard a
 transferToken obtained through the get_transferToken API at the same
 node. This API accepts either a transferToken or a keyBag as parameters
 to remove the permission to transfer data associated with a particular
 transferToken. If a keyBag is provided, all tokens corresponding to the
 keys in the keyBag will be discarded and will no longer be valid for
 custody or ownership transfer after the discard_transferToken is
 processed, irrespective of whether the keys match any known business or
 tmodelKey values. In the event that the keyBag represents a subset of the
 keyBag for one or more transferToken elements, the transferToken is
 discarded and will no longer be valid for transferring any entity. If the
 token passed in the transferToken argument does not match an existing
 token known to the system, no action is taken and success is reported.
 Keys in the keyBag argument that do not have a corresponding token are
 ignored.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html#discardTransferToken-org.uddi.custody_v3.DiscardTransferToken-">discardTransferToken</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html" title="interface in org.uddi.v3_service">UDDICustodyTransferPortType</a></code></dd>
<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>: This OPTIONAL argument is an
 element that contains an authentication token.&nbsp; Authentication
 tokens are obtained using the get_authToken API call or through some
 other means external to this specification, and represent the identity of
 the publisher at a UDDI node.</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>transferToken</i></b>: This is a known transferToken
 obtained by a publisher at the node where the get_transferToken API was
 invoked.</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>keyBag</i></b>: One or more uddiKeys associated
 either with businessEntity or tModel entities owned by the publisher that
 were to be transferred to some other publisher and/or node in the
 registry as the result of invocation of get_transferToken.&nbsp; At least
 one businessKey or tModelKey must be provided in a keyBag.</p>
 <Br>
 Upon successful completion, an empty message is returned. See
 section 4.8 Success and Error Reporting.

 No error will be reported if the transferToken provided in the call does
 not match an existing token. No error will be reported if a token is not
 found for a particular key in the keyBag.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
</dl>
</li>
</ul>
<a name="getTransferToken-java.lang.String-org.uddi.custody_v3.KeyBag-javax.xml.ws.Holder-javax.xml.ws.Holder-javax.xml.ws.Holder-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransferToken</h4>
<pre>public&nbsp;void&nbsp;getTransferToken(<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="../../../../../org/uddi/custody_v3/KeyBag.html" title="class in org.uddi.custody_v3">KeyBag</a>&nbsp;keyBag,
                             <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/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;nodeID,
                             <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/javax/xml/datatype/XMLGregorianCalendar.html?is-external=true" title="class or interface in javax.xml.datatype">XMLGregorianCalendar</a>&gt;&nbsp;expirationTime,
                             <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;byte[]&gt;&nbsp;opaqueToken)
                      throws <a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html#getTransferToken-java.lang.String-org.uddi.custody_v3.KeyBag-javax.xml.ws.Holder-javax.xml.ws.Holder-javax.xml.ws.Holder-">UDDICustodyTransferPortType</a></code></span></div>
<div class="block">The get_transferToken API is a client API used to initiate the transfer
 of custody of one or more businessEntity or tModel entities from one node
 to another. As previously stated, the two nodes may or may not be
 distinct; intra-node transfer between two publishers is simply a
 degenerate case in which node custody does not change. No actual transfer
 takes place with the invocation of this API. Instead, this API obtains
 permission from the custodial node, in the form of a transferToken, to
 perform the transfer. The publisher who will be recipient of the
 transferToken returned by this API must invoke the transfer_entities API
 on the target custodial node to actually transfer the entities.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html#getTransferToken-java.lang.String-org.uddi.custody_v3.KeyBag-javax.xml.ws.Holder-javax.xml.ws.Holder-javax.xml.ws.Holder-">getTransferToken</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html" title="interface in org.uddi.v3_service">UDDICustodyTransferPortType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>authInfo</code> - · authInfo: This OPTIONAL argument is an element that
 contains an authentication token. Authentication tokens are obtained
 using the get_authToken API call or through some other means external to
 this specification and represent the identity of the publisher at a UDDI
 node.</dd>
<dd><code>keyBag</code> - keyBag: One or more key (of type uddi:uddiKey) associated
 either with businessEntity or tModel entities owned by the publisher that
 are to be transferred to some other publisher and/or node in the
 registry. At least one businessKey or tModelKey must be provided.</dd>
<dd><code>nodeID</code> - this is a return value. The transfer token consists of a
 nodeID, an expirationTime and an opaqueToken. The nodeID is used during
 the transfer_entities API by the recipient node to confirm with the
 relinquishing custodial node that the custody transfer is authorized and
 still valid. The nodeID of the transferToken is the value of the nodeID
 element of the Replication Configuration Structure. Refer to Section
 7.5.2 Configuration of a UDDI Node – operator Element.</dd>
<dd><code>expirationTime</code> - this is a return value. The expirationTime, defined
 as xsd:dateTime, represents the time at which the transfer token is no
 longer valid.</dd>
<dd><code>opaqueToken</code> - this is a return value. The opaqueToken is only
 meaningful to the node that issues it. The opaqueToken is defined as
 xsd:base64Binary to allow for a RECOMMENDED encryption of the token under
 the relinquishing custody node’s own encryption key.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
</dl>
</li>
</ul>
<a name="transferEntities-org.uddi.custody_v3.TransferEntities-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transferEntities</h4>
<pre>public&nbsp;void&nbsp;transferEntities(<a href="../../../../../org/uddi/custody_v3/TransferEntities.html" title="class in org.uddi.custody_v3">TransferEntities</a>&nbsp;body)
                      throws <a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html#transferEntities-org.uddi.custody_v3.TransferEntities-">UDDICustodyTransferPortType</a></code></span></div>
<div class="block">The transfer_entities API is used by publishers to whom custody is being
 transferred to actually perform the transfer. The recipient publisher
 must have an unexpired transferToken that was issued by the custodial
 node for the entities being transferred.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html#transferEntities-org.uddi.custody_v3.TransferEntities-">transferEntities</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/uddi/v3_service/UDDICustodyTransferPortType.html" title="interface in org.uddi.v3_service">UDDICustodyTransferPortType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>body</code> - authInfo: This OPTIONAL argument is an element that contains
 an authentication token. Authentication tokens are obtained using the
 get_authToken API call or through some other means external to this
 specification, and represent the identity of the publisher at a UDDI
 node, in this case, the new owner of the entities being transferred.

 · transferToken: Required argument obtained from the custodial node via a
 call to get_transferToken by the publisher requesting a transfer of
 custody. The transferToken contains an opaque token, an expiration date,
 and the identity of the custodial node. The transferToken represents
 permission to transfer the entities that have been identified via a prior
 call to the get_transferToken API.

 · keyBag: One or more uddiKeys associated with businessEntity or tModel
 entities that are to be transferred to this publisher at the target node
 in the registry. The set of keys must be the same as the set of keys in
 the keyBag of the get_transferToken API call from which the given
 transferToken was once obtained.
 <br>
 <p class="MsoBodyText">The target node responds to this API by
 performing the transfer operation.&nbsp; This operation is comprised of
 four steps:</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>Verification that the entity keys are valid.</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>Verification that ownership of the entities by the
 recipient publisher is allowed and would not violate any policies at the
 target node related to publisher limits.</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>Verification with the custodial node that the transfer of
 the designated entities is allowed.&nbsp; This is accomplished by
 invoking transfer_custody on the custodial node that is identified by the
 nodeID element in the transferToken.&nbsp; Any errors returned by the
 custodial node cause this API to fail and are propagated to the
 caller.</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>Changing custody and ownership of the designated entities
 and entering these changes into the replication stream.</p>

 <p class="MsoBodyText">Upon successful completion, an empty message is
 returned indicating the success of the transfer operation. In the case of
 an inter-node custody transfer, while the transfer is in process, the
 entities being transferred are not available for modification. To
 determine the state of the data, UDDI clients can use the
 get_operationalInfo API to determine when custody and ownership transfer
 has taken place. A change in the nodeID of the operationalInfo provides
 such an indication.</p></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
</dl>
</li>
</ul>
<a name="executeTransfer-org.uddi.custody_v3.TransferEntities-javax.persistence.EntityManager-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>executeTransfer</h4>
<pre>protected&nbsp;<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/repl_v3/ChangeRecord.html" title="class in org.uddi.repl_v3">ChangeRecord</a>&gt;&nbsp;executeTransfer(<a href="../../../../../org/uddi/custody_v3/TransferEntities.html" title="class in org.uddi.custody_v3">TransferEntities</a>&nbsp;body,
                                             javax.persistence.EntityManager&nbsp;em,
                                             <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;transferToPublisher,
                                             <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;transferToNode)
                                      throws <a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></pre>
<div class="block">used to factor out the actual execution of custody transfer, used by
 both this service and the replication service.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>body</code> - </dd>
<dd><code>em</code> - </dd>
<dd><code>transferToPublisher</code> - </dd>
<dd><code>transferToNode</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/uddi/v3_service/DispositionReportFaultMessage.html" title="class in org.uddi.v3_service">DispositionReportFaultMessage</a></code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.3</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/UDDICustodyTransferImpl.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/apache/juddi/api/impl/ServiceCounterLifecycleResource.html" title="class in org.apache.juddi.api.impl"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/juddi/api/impl/UDDIInquiryImpl.html" title="class in org.apache.juddi.api.impl"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/juddi/api/impl/UDDICustodyTransferImpl.html" target="_top">Frames</a></li>
<li><a href="UDDICustodyTransferImpl.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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 ======= -->
<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>
