/** * Handle a ProcessMessageExchangeEvent * - the important aspect of this event is that it establishes a connection between a MessageExchange object * and the BPEL Process instance to which it relates. * @param bpelEvent - the ProcessMessageExchangeEvent */ private void handleProcMexEvent( ProcessMessageExchangeEvent bpelEvent) { // Extract the message ID and the process instance ID - it is the connection between these // that is vital to know String mexID = bpelEvent.getMessageExchangeId(); Long processID = bpelEvent.getProcessInstanceId(); ODEServer.addMexToProcessIDLink( mexID, processID ); } // end method handleProcMexEvent
public ProcessMessageExchangeEvent(short aspect, QName processName, QName processId, Long processInstanceId) { super(processInstanceId); setProcessName(processName); setProcessId(processId); _aspect = aspect; }
MessageExchangeDAO mex = _dao.getConnection().getMessageExchange(mexid); ProcessMessageExchangeEvent evt = new ProcessMessageExchangeEvent(); evt.setPortType(mex.getPortType()); evt.setMexId(mexid); evt.setOperation(mex.getOperation()); evt.setAspect(ProcessMessageExchangeEvent.PARTNER_FAULT); responseChannel.onFault(); break; case RESPONSE: evt.setAspect(ProcessMessageExchangeEvent.PARTNER_OUTPUT); responseChannel.onResponse(); break; case FAILURE: evt.setAspect(ProcessMessageExchangeEvent.PARTNER_FAILURE); responseChannel.onFailure(); break;
info.setPortType(((ProcessMessageExchangeEvent) event).getPortType()); info.setOperation(((ProcessMessageExchangeEvent) event).getOperation()); info.setMexId(((ProcessMessageExchangeEvent) event).getMessageExchangeId());
public void reply2(final PartnerLinkInstance plinkInstnace, final String opName, final String mexId, Element msg, QName fault, boolean failure, final String mexRef) throws FaultException { // prepare event ProcessMessageExchangeEvent evt = new ProcessMessageExchangeEvent(); evt.setMexId(mexId); evt.setOperation(opName); evt.setPortType(plinkInstnace.partnerLink.myRolePortType.getQName()); MessageExchangeDAO mex = _dao.getConnection().getMessageExchange(mexRef); MessageDAO message = mex.createMessage(plinkInstnace.partnerLink.getMyRoleOperation(opName).getOutput() .getMessage().getQName()); buildOutgoingMessage(message, msg); MyRoleMessageExchangeImpl m = new MyRoleMessageExchangeImpl(_bpelProcess, _bpelProcess._engine, mex); _bpelProcess.initMyRoleMex(m); m.setResponse(new MessageImpl(message)); if (failure) { mex.setStatus(MessageExchange.Status.FAILURE.toString()); } else if (fault != null) { mex.setStatus(MessageExchange.Status.FAULT.toString()); mex.setFault(fault); evt.setAspect(ProcessMessageExchangeEvent.PROCESS_FAULT); } else { mex.setStatus(MessageExchange.Status.RESPONSE.toString()); evt.setAspect(ProcessMessageExchangeEvent.PROCESS_OUTPUT); } doAsyncReply(m); // send event sendEvent(evt); }
ProcessMessageExchangeEvent evt = new ProcessMessageExchangeEvent(); evt.setOperation(operation.getName()); evt.setPortType(partnerLink.partnerLink.partnerRolePortType.getQName()); evt.setAspect(ProcessMessageExchangeEvent.PARTNER_INPUT); evt.setMexId(mexDao.getMessageExchangeId()); sendEvent(evt);