Examples of RMHeaders


Examples of org.apache.sandesha.ws.rm.RMHeaders

*/
public class RMServerRequestHandler extends BasicHandler {

    public void invoke(MessageContext msgContext) throws AxisFault {
        try {
            RMHeaders rmHeaders = new RMHeaders();
            rmHeaders.fromSOAPEnvelope(msgContext.getRequestMessage().getSOAPEnvelope());

        } catch (SOAPException e) {
            throw AxisFault.makeFault(e);
        } catch (Exception e) {
            throw AxisFault.makeFault(e);
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

        String sequenceId = msg.getSequenceID();
        accessor.addMessageToOutgoingSequence(sequenceId, msg);
    }

    public void insertIncomingMessage(RMMessageContext rmMessageContext) {
        RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
        RelatesTo relatesTo = (RelatesTo) rmMessageContext.getAddressingHeaders().getRelatesTo()
                .get(0);
        String messageId = relatesTo.getURI().toString();
        String sequenceId = null;

        sequenceId = accessor.searchForSequenceId(messageId);

        boolean exists = accessor.isIncomingSequenceExists(sequenceId);

        if (!exists) {
            accessor.addIncomingSequence(sequenceId);
        }

        long messageNumber = rmHeaders.getSequence().getMessageNumber().getMessageNumber();
        if (messageNumber <= 0)
            return;
        Long msgNo = new Long(messageNumber);
        accessor.addMessageToIncomingSequence(sequenceId, msgNo, rmMessageContext);
        accessor.updateFinalMessageArrivedTime(sequenceId);
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

    }

    public boolean sendFault(RMMessageContext rmMessageContext) throws Exception {

        AddressingHeaders addrHeaders;
        RMHeaders rmHeaders;
        MessageContext msgContext = rmMessageContext.getMsgContext();

        if (rmMessageContext.getRMHeaders() != null) {
            rmHeaders = rmMessageContext.getRMHeaders();
            String acksTo = getAcksTo(rmHeaders);
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

        storageManager = storageManger;
    }

    public boolean processMessage(RMMessageContext rmMessageContext) throws AxisFault {

        RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
        AddressingHeaders addrHeaders = rmMessageContext.getAddressingHeaders();
        AcknowledgementProcessor ackProcessor = new AcknowledgementProcessor(storageManager);
        if (rmHeaders.getSequenceAcknowledgement() != null) {
            ackProcessor.processMessage(rmMessageContext);
        }

        if (rmHeaders.getSequence() != null) {
            if (rmHeaders.getSequence().getMessageNumber() != null) {
                String sequenceUUID = rmHeaders.getSequence().getIdentifier().getIdentifier();
                long messageNumber = rmHeaders.getSequence().getMessageNumber().getMessageNumber();

                String seqId = storageManager.getOutgoingSeqenceIdOfIncomingMsg(rmMessageContext);
                boolean hasSequence = storageManager.isSequenceExist(seqId);

                if (addrHeaders.getRelatesTo() != null && !addrHeaders.getRelatesTo().isEmpty()) {
                    RelatesTo relatesTo = (RelatesTo) addrHeaders.getRelatesTo().get(0);
                    String messageId = relatesTo.getURI().toString();
                    seqId = storageManager.getOutgoingSeqOfMsg(messageId);
                }
                if (!hasSequence) {
                    storageManager.addIncomingSequence(seqId);
                }
                if (!storageManager.isMessageExist(seqId, messageNumber)) {
                    //Create a copy of the RMMessageContext.
                    RMMessageContext rmMsgContext = new RMMessageContext();
                    //Copy the RMMEssageContext
                    rmMessageContext.copyContents(rmMsgContext);
                    rmMsgContext.setSequenceID(sequenceUUID);
                    rmMsgContext.setMsgNumber(messageNumber);
                    try {
                        MessageContext msgContext = new MessageContext(rmMessageContext.getMsgContext().getAxisEngine());
                        RMMessageContext.copyMessageContext(rmMessageContext.getMsgContext(),
                                msgContext);
                        String soapMsg = rmMessageContext.getMsgContext().getRequestMessage()
                                .getSOAPEnvelope()
                                .toString();
                        Message reqMsg = new Message(soapMsg);

                        msgContext.setRequestMessage(reqMsg);
                        rmMsgContext.setMsgContext(msgContext);
                        rmMsgContext.setMessageType(Constants.MSG_TYPE_SERVICE_REQUEST);
                    } catch (Exception e) {
                        log.error(e);
                        throw new AxisFault(new QName(Constants.FaultCodes.WSRM_SERVER_INTERNAL_ERROR),
                                Constants.FaultMessages.SERVER_INTERNAL_ERROR, null, null);
                    }
                    storageManager.insertIncomingMessage(rmMsgContext);
                }

                // refresh the ack for every message arrived
                //But send only if needed.
                if (rmHeaders.getAckRequest() != null ||
                        rmHeaders.getSequence().getLastMessage() != null) {
                    storageManager.sendAck(sequenceUUID);
                    return ackProcessor.sendAcknowledgement(rmMessageContext);
                } else {
                    boolean sync = ackProcessor.sendAcknowledgement(rmMessageContext);
                    return sync;
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

    }

    public boolean processMessage(RMMessageContext rmMessageContext) throws AxisFault {

        AddressingHeaders addrHeaders = rmMessageContext.getAddressingHeaders();
        RMHeaders rmHeaders = rmMessageContext.getRMHeaders();

        if (rmHeaders.getSequenceAcknowledgement() != null) {
            processForAckIfAny(rmMessageContext);
        }

        //wsrm:CreateSequenceRefused
        if (rmHeaders.getCreateSequence() == null)
            throw new AxisFault();

        String seqId = getNextUUID();
        storageManager.addRequestedSequence(seqId);
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

        accessor.addMessageToOutgoingSequence(sequenceId, msg);

    }

    public void insertIncomingMessage(RMMessageContext rmMessageContext) {
        RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
        String sequenceId = rmHeaders.getSequence().getIdentifier().getIdentifier();
        boolean exists = accessor.isIncomingSequenceExists(sequenceId);
        if (!exists)
            addSequence(sequenceId); //Creating new sequence

        //TODO: add getRmHeaders method to MessageContext
        long messageNumber = rmHeaders.getSequence().getMessageNumber().getMessageNumber();

        if (messageNumber <= 0)
            return;

        Long msgNo = new Long(messageNumber);
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

                    msgContext.setResponseMessage(null);
                    return;
                }
                return;
            }
            RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
            AddressingHeaders addrHeaders = rmMessageContext.getAddressingHeaders();

            if (null != rmHeaders.getSequence()) {
                rmMessageContext.setSequenceID(rmHeaders.getSequence().getIdentifier().toString());
                if (null != rmHeaders.getSequence().getLastMessage()) {
                    rmMessageContext.setLastMessage(true);
                }
            }

            if (addrHeaders.getMessageID() == null) {
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

    private void processResponseMessage(Call call, RMMessageContext rmMessageContext)
            throws Exception {

        if (call.getResponseMessage() != null) {
            RMHeaders rmHeaders = new RMHeaders();
            rmHeaders.fromSOAPEnvelope(call.getResponseMessage().getSOAPEnvelope());
            rmMessageContext.setRMHeaders(rmHeaders);
            AddressingHeaders addrHeaders = new AddressingHeaders(call.getResponseMessage().getSOAPEnvelope());
            rmMessageContext.setAddressingHeaders(addrHeaders);
            rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
            IRMMessageProcessor messagePrcessor = RMMessageProcessorIdentifier.getMessageProcessor(rmMessageContext, storageManager);
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

     */
    public static IRMMessageProcessor getMessageProcessor(RMMessageContext rmMessageContext,
                                                          IStorageManager storageManager) {

        AddressingHeaders addrHeaders = rmMessageContext.getAddressingHeaders();
        RMHeaders rmHeaders = rmMessageContext.getRMHeaders();

        if (addrHeaders.getAction() != null) {
            if (addrHeaders.getAction().toString().equals(Constants.WSRM.ACTION_CREATE_SEQUENCE)) {
                return new CreateSequenceProcessor(storageManager);
            } else if (addrHeaders.getAction().toString().equals(Constants.WSRM.ACTION_CREATE_SEQUENCE_RESPONSE)) {
                return new CreateSequenceResponseProcessor(storageManager);
            } else if (addrHeaders.getAction().toString().equals(Constants.WSRM.ACTION_TERMINATE_SEQUENCE)) {
                return new TerminateSequenceProcessor(storageManager);
            } else if (rmHeaders.getSequenceAcknowledgement() != null ||
                    rmHeaders.getSequence().getMessageNumber() != null) {
                return new CompositeProcessor(storageManager);
            } else
                return new FaultProcessor(storageManager);
        } else if (rmHeaders.getSequenceAcknowledgement() != null ||
                rmHeaders.getSequence().getMessageNumber() != null) {
            return new CompositeProcessor(storageManager);
        } else
            return new FaultProcessor(storageManager);
    }
View Full Code Here

Examples of org.apache.sandesha.ws.rm.RMHeaders

                        Constants.FaultMessages.NO_ADDRESSING_HEADERS, null, null);
            AddressingHeaders addrHeaders = new AddressingHeaders(msgContext.getRequestMessage().getSOAPEnvelope());
            validateAddrHeaders(addrHeaders);
            rmMsgContext.setAddressingHeaders(addrHeaders);

            RMHeaders rmHeaders = new RMHeaders();
            rmHeaders.fromSOAPEnvelope(msgContext.getRequestMessage().getSOAPEnvelope());
            validateRMHeaders(rmHeaders);
            rmMsgContext.setRMHeaders(rmHeaders);

            validateForFaults(rmMsgContext);
        } catch (SOAPException e) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.