public void CompensateOperation()

in src/org/apache/kandula/wsba/BACoordinatorCompletionParticipantServiceSkeleton.java [183:215]


	public void CompensateOperation(org.oasis_open.docs.ws_tx.wsba._2006._06.Compensate param2) throws AxisFault

	{
		OMElement header = MessageContext.getCurrentMessageContext().getEnvelope().getHeader();
		OMElement firstChildWithName = header
				.getFirstChildWithName(Constants.REQUESTER_ID_PARAMETER);
		if (firstChildWithName != null) {
			String requesterID = firstChildWithName.getText();
			AbstractContext context2 = StorageUtils.getContext(requesterID);
			try {
				if (context2 != null) {
					ParticipantContext context = (ParticipantContext) context2;
					BAParticipantTransactionCoordinator participantCoordinator = new BAParticipantTransactionCoordinator();
					participantCoordinator.compensate(context);
				} else {
					log.fatal("WS_BA : message "+ MessageContext.getCurrentMessageContext().getMessageID()
							+ " : CompensatedOperation : Business Activity Not Found");
					throw new NoActivityException("CompensateOperation : Business Activity Not Found");
				}
			} catch (AbstractKandulaException e) {
				log.fatal("WS_BA : Message ID : " + MessageContext.getCurrentMessageContext().getMessageID()
						+ " : CompensateOperation :" + e);
				throw AxisFault.makeFault(e);
			}
		} else {
			AxisFault e = new AxisFault(
					"Requester ID header is not found in the message. Please check whether ws-addressing is enabled in the coordinator.");
			log.fatal("WS_BA : Message ID "
					+ MessageContext.getCurrentMessageContext().getMessageID()
					+ " : CompensateOperation :" + e);
			throw e;
		}
	}