} catch (JMSException jmse) {
String errMsg = "Unable to get properties from message " + msgCorrId + ".";
throw new KieRemoteServicesRuntimeException(errMsg, jmse);
}
SerializationProvider serializationProvider;
switch (serializationType) {
case JMS_SERIALIZATION_TYPE:
serializationProvider = getJaxbSerializationProvider(message);
break;
default:
throw new KieRemoteServicesInternalError("Unknown serialization type: " + serializationType);
}
// 1. deserialize request
JaxbCommandsRequest cmdsRequest = deserializeRequest(message, msgCorrId, serializationProvider, serializationType);
// 2. security/identity
backupIdentityProviderProducer.createBackupIdentityProvider(cmdsRequest.getUser());
cmdsRequest.setUserPass(getUserPass(message));
// 3. process request
jaxbResponse = jmsProcessJaxbCommandsRequest(cmdsRequest);
// 4. serialize response
Message msg = serializeResponse(session, msgCorrId, serializationType, serializationProvider, jaxbResponse);
serializationProvider.dispose();
// 5. send response
sendResponse(msgCorrId, serializationType, msg);
if (redelivered) {