public InvocationResponse invoke()

in src/org/apache/kandula/participant/ba/ParticipantOutHandler.java [22:47]


	public InvocationResponse invoke(MessageContext msgContext) throws AxisFault {

		String wsaAction = msgContext.getWSAAction();
		Object property = msgContext.getOperationContext()
				.getProperty(AbstractContext.REQUESTER_ID);
		if (property != null) {
			String reqID = (String) property;
			AbstractContext context = StorageUtils.getContext(msgContext, reqID);
			if (context != null) {
				ParticipantContext participantContext = (ParticipantContext) context;
				if (participantContext.getRegistrationProtocol().equals(Constants.WS_BA_CC)) {
					participantContext.setStatus(Status.BAParticipantStatus.STATUS_WORK_DONE);
				} else if (participantContext.getRegistrationProtocol().equals(Constants.WS_BA_PC)) {
					// Notify the coordinator if the participant is wsba-pc
					BAParticipantTransactionSentCoordinator coordinator = new BAParticipantTransactionSentCoordinator();
					try {
						participantContext.setStatus(Status.BAParticipantStatus.STATUS_COMPLETING);
						coordinator.completed(participantContext);
					} catch (AbstractKandulaException e) {
                        throw AxisFault.makeFault(e);
					}
				}
			}
		}
		return InvocationResponse.CONTINUE;
	}