PartnerLinkModel plink = _processModel.getPartnerLink(mexdao.getPartnerLinkModelId());
if (plink == null) {
String errmsg = __msgs.msgDbConsistencyError("MexDao #" + mexdao.getMessageExchangeId()
+ " referenced unknown pLinkModelId " + mexdao.getPartnerLinkModelId());
__log.error(errmsg);
throw new BpelEngineException(errmsg);
}
Operation op = plink.getMyRoleOperation(mexdao.getOperation());
if (op == null) {
String errmsg = __msgs.msgDbConsistencyError("MexDao #" + mexdao.getMessageExchangeId()
+ " referenced unknown operation " + mexdao.getOperation());
__log.error(errmsg);
throw new BpelEngineException(errmsg);
}
PartnerLinkMyRoleImpl myRole = _myRoles.get(plink);
if (myRole == null) {
String errmsg = __msgs.msgDbConsistencyError("MexDao #" + mexdao.getMessageExchangeId()
+ " referenced non-existant myrole");
__log.error(errmsg);
throw new BpelEngineException(errmsg);
}
MyRoleMessageExchangeImpl mex = newMyRoleMex(istyle, mexdao.getMessageExchangeId(), myRole._endpoint.serviceName,
plink, op);
mex.load(mexdao);