WSRP2ExceptionFactory.throwMissingParametersIfValueIsMissing(consumerName, "consumer name", "RegistrationData");
String consumerAgent = registrationData.getConsumerAgent();
WSRP2ExceptionFactory.throwMissingParametersIfValueIsMissing(consumerAgent, "consumer agent", "RegistrationData");
Registration registration;
try
{
log.debug("Attempting to register consumer named '" + consumerName + "', agent '" + consumerAgent + "'.");
// check that the consumer agent is valid before trying to register
RegistrationUtils.validateConsumerAgent(consumerAgent);
registration = producer.getRegistrationManager().addRegistrationTo(consumerName, createRegistrationProperties(registrationData), registrationRequirements.getRegistrationProperties(), true);
updateRegistrationInformation(registration, registrationData);
}
catch (Exception e)
{
String msg = "Could not register consumer named '" + consumerName + "'";
log.debug(msg, e);
throw WSRP2ExceptionFactory.throwWSException(OperationFailed.class, msg, e);
}
RegistrationContext registrationContext = WSRPTypeFactory.createRegistrationContext(registration.getRegistrationHandle());
log.debug("Registration completed without error.");
return registrationContext;
}