CSJCurrent de:Transfer zurückziehen
Der Transfer kann zurückgezogen werden, wenn beispielsweise aufgrund von veralteten Informationen der Zugriff für alle Empfänger verhindert werden soll.
Benutzung
Dem Absender eines Transfers wird es ermöglicht, den Transfer zurückzuziehen und die Empfänger des Transfers per E-Mail darüber zu informieren, indem die Methode `Client.revokeTransfer` mit der Tracking-ID als Parameter aufgerufen wird. Auch der Absender wird als Bestätigung per E-Mail darüber informiert.
client.revokeTransfer("my-tracking-id");
Standardmäßig versendet der Cryptshare Server eine Benachrichtigungsemail mit einer Standardnachricht an alle Empfänger. Es ist aber auch möglich, eine benutzerdefinierte Nachricht anzugeben:
final String message = "The information in this document are no longer valid and a transfer containing updated information has been provided. Please disregard this transfer."; client.revokeTransfer("my-tracking-id", message);
Wenn Sie bestimmen möchten, ob eine Benachrichtigungsemail an Absender und/oder Empfänger versendet werden soll, können Sie weitere Parameter übergeben:
// Send a notification email to the recipients, but not the sender. client.revokeTransfer("my-tracking-id", true, false); // Same as above, but also provide a custom message. final String message = "A new transfer containing updated documents is on its way, please ignore this transfer."; client.revokeTransfer("my-tracking-id", true, false, message);
Fehlerbehandlung
Der Versuch, einen Transfer zurückzuziehen, kann in einer Ausnahme resultieren, welche behandelt werden sollte. Beispielsweise resultiert das Zurückziehen eines nicht existierenden Transfers oder eines Transfers, für welchen man nicht der ursprüngliche Absender ist, in einer CryptshareServerException.
try { client.revokeTransfer("transfer-is-not-mine-or-does-not-exist"); } catch (CryptshareServerException e) { System.err.println("Failed to revoke the transfer: "); e.printStackTrace(); }
Falls nicht garantiert werden kann, dass der Zielserver das Zurückziehen eines Transfers unterstützt (siehe Kompatibilität), sollten mögliche Ausnahmen gefangen werden, da die API im Falle fehlender Unterstützung eine Exception wirft.
try { client.revokeTransfer("my-tracking-id"); } catch (CryptshareServerException e) { if (e.getCode() == 0) { System.err.println("The Cryptshare Server does not support revoking a transfer: "); e.printStackTrace(); } }