public interface UDDICustodyTransferPortType extends Remote
Modifier and Type | Method and Description |
---|---|
void |
discardTransferToken(DiscardTransferToken body)
The discard_transferToken API is a client API used to discard a
transferToken obtained through the get_transferToken API at the same
node.
|
void |
getTransferToken(String authInfo,
KeyBag keyBag,
Holder<String> nodeID,
Holder<XMLGregorianCalendar> expirationTime,
Holder<byte[]> opaqueToken)
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.
|
void |
transferEntities(TransferEntities body)
The transfer_entities API is used by publishers to whom custody is being
transferred to actually perform the transfer.
|
void discardTransferToken(DiscardTransferToken body) throws DispositionReportFaultMessage, RemoteException
body
- · 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.
· transferToken: This is a known transferToken obtained by a publisher at the node where the get_transferToken API was invoked.
· keyBag: 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. At least one businessKey or tModelKey must be provided in a keyBag.
DispositionReportFaultMessage
RemoteException
- If an error occurs in processing this API call, a dispositionReport structure MUST be returned to the caller in a SOAP Fault. See Section 4.8 Success and Error Reporting. In addition to the errors common to all APIs, the following error information is relevant here:
· E_invalidKeyPassed: signifies that one of the uddiKey values passed for entities to be transferred did not match with any known businessKey or tModelKey values. The key and element or attribute that caused the problem SHOULD be clearly indicated in the error text.
@RequestWrapper(localName="get_transferToken", targetNamespace="urn:uddi-org:custody_v3", className="org.uddi.custody_v3.GetTransferToken") @ResponseWrapper(localName="transferToken", targetNamespace="urn:uddi-org:custody_v3", className="org.uddi.custody_v3.TransferToken") void getTransferToken(String authInfo, KeyBag keyBag, Holder<String> nodeID, Holder<XMLGregorianCalendar> expirationTime, Holder<byte[]> opaqueToken) throws DispositionReportFaultMessage, RemoteException
authInfo
- · 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.keyBag
- 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.nodeID
- 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.expirationTime
- this is a return value. The expirationTime, defined
as xsd:dateTime, represents the time at which the transfer token is no
longer valid.opaqueToken
- 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.DispositionReportFaultMessage
RemoteException
- If an error occurs in processing this API call, a dispositionReport structure MUST be returned to the caller in a SOAP Fault. See section 4.8 Success and Error Reporting. In addition to the errors common to all APIs, the following error information is relevant here:
· E_invalidKeyPassed: signifies that one of the uddiKey values passed for entities to be transferred did not match with any known businessKey or tModelKey values. The key and element or attribute that caused the problem SHOULD be clearly indicated in the error text.
· E_tokenAlreadyExists: signifies that one or more of the businessKey or tModelKey elements that identify entities to be transferred are associated with a transferToken that is still valid and has not been discarded, used or expired. The error text SHOULD clearly indicate which entity keys caused the error.
· E_userMismatch: signifies that one or more of the businessKey or tModelKey elements that identify entities to be transferred are not owned by the publisher identified by the authInfo element. The error text SHOULD clearly indicate which entity keys caused the error
void transferEntities(TransferEntities body) throws DispositionReportFaultMessage, RemoteException
body
- 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.
The target node responds to this API by performing the transfer operation. This operation is comprised of four steps:
· Verification that the entity keys are valid.
· 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.
· Verification with the custodial node that the transfer of the designated entities is allowed. This is accomplished by invoking transfer_custody on the custodial node that is identified by the nodeID element in the transferToken. Any errors returned by the custodial node cause this API to fail and are propagated to the caller.
· Changing custody and ownership of the designated entities and entering these changes into the replication stream.
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.
DispositionReportFaultMessage,
- RemoteException If an error occurs in processing this API call, a dispositionReport structure MUST be returned to the caller in a SOAP Fault. See Section 4.8 Success and Error Reporting. In addition to the errors common to all APIs, the following error information is relevant here:
· E_accountLimitExceeded: signifies that the target node has determined that the transfer of custody of the identified entities would result in the target publisher exceeding policy limits for the number of owned entities. The error text SHOULD clearly indicate which entities cause the publishers limits to be exceeded. It is possible for a publisher to come into possession of more data than the target node’s policy allows. The condition and node behavior under these circumstances are described in Section 5.4.3Transfer Execution.
· E_invalidKeyPassed: signifies that one of the uddiKey values passed for entities to be transferred did not match with any known businessKey or tModelKey values. The key and element or attribute that caused the problem SHOULD be clearly indicated in the error text.
· E_transferNotAllowed: signifies that the transfer of one or more entities has been rejected by the target node or the custodial node. Reasons for rejection include expiration of the transferToken, use of an invalid transferToken, and attempts to transfer a set of entities that does not match the one represented by the transferToken. The reason for rejecting the custody transfer SHOULD be clearly indicated in the error text.
DispositionReportFaultMessage
RemoteException
Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.