use of org.hyperledger.fabric_ca.sdk.exception.RegistrationException in project fabric-sdk-java by hyperledger.
the class HFCAClient method register.
/**
* Register a user.
*
* @param request Registration request with the following fields: name, role.
* @param registrar The identity of the registrar (i.e. who is performing the registration).
* @return the enrollment secret.
* @throws RegistrationException if registration fails.
* @throws InvalidArgumentException
*/
public String register(RegistrationRequest request, User registrar) throws RegistrationException, InvalidArgumentException {
if (cryptoSuite == null) {
throw new InvalidArgumentException("Crypto primitives not set.");
}
if (Utils.isNullOrEmpty(request.getEnrollmentID())) {
throw new InvalidArgumentException("EntrollmentID cannot be null or empty");
}
if (registrar == null) {
throw new InvalidArgumentException("Registrar should be a valid member");
}
logger.debug(format("register url: %s, registrar: %s", url, registrar.getName()));
setUpSSL();
try {
String body = request.toJson();
JsonObject resp = httpPost(url + HFCA_REGISTER, body, registrar);
String secret = resp.getString("secret");
if (secret == null) {
throw new Exception("secret was not found in response");
}
logger.debug(format("register url: %s, registrar: %s done.", url, registrar));
return secret;
} catch (Exception e) {
RegistrationException registrationException = new RegistrationException(format("Error while registering the user %s url: %s %s ", registrar, url, e.getMessage()), e);
logger.error(registrar);
throw registrationException;
}
}
Aggregations