Package org.apache.ode.bpel.iapi

Examples of org.apache.ode.bpel.iapi.Message


        context.checking(new Expectations() {{
            atLeast(1).of(partner).invokePartner(with(aMexWithOpnameIs("invoke"))); will(new CustomAction("invoke failing service") {
                public Object invoke(org.jmock.api.Invocation invocation) throws Throwable {
                    PartnerRoleMessageExchange mex = (PartnerRoleMessageExchange) invocation.getParameter(0);
                    if (_testService.invoke()) {
                        Message response = mex.createMessage(mex.getOperation().getOutput().getMessage().getQName());
                        response.setMessage(DOMUtils.newDocument().createElementNS(NAMESPACE, "tns:ResponseElement"));
                        mex.reply(response);
                    } else {
                        mex.replyWithFailure(MessageExchange.FailureType.COMMUNICATION_ERROR, "BangGoesInvoke", null);
                    }
                    return null;
View Full Code Here


            _txManager.begin();
            mex = _server.getEngine().createMessageExchange("" + messageId, serviceName, opName);
            if (mex.getOperation() == null)
                throw new Exception("Did not find operation " + opName + " on service " + serviceName);
            Message request = mex.createMessage(mex.getOperation().getInput().getMessage().getQName());
            Element wrapper = body.getOwnerDocument().createElementNS("", "main");
            wrapper.appendChild(body);
            Element message = body.getOwnerDocument().createElementNS("", "message");
            message.appendChild(wrapper);
            request.setMessage(message);
            mex.invoke(request);
            mex.complete();
            _txManager.commit();
        } catch (Exception except) {
              _txManager.rollback();
View Full Code Here

                            Fault fault = pmex.getOperation().getFault(m.getFault().getLocalPart());
                            if (fault == null) {
                                __log.error("process " + this + " instance " + (context != null ? context.getPid() : null) + " thrown unmapped fault in p2p communication " + m.getFault() + " " + m.getFaultExplanation() + " - converted to failure");
                                pmex.replyWithFailure(MessageExchange.FailureType.OTHER, "process thrown unmapped fault in p2p communication " + m.getFault() + " " + m.getFaultExplanation() + " - converted to failure", m.getFaultResponse().getMessage());
                            } else {
                                Message faultRes = pmex.createMessage(pmex.getOperation().getFault(m.getFault().getLocalPart())
                                        .getMessage().getQName());
                                faultRes.setMessage(m.getResponse().getMessage());
                                pmex.replyWithFault(m.getFault(), faultRes);
                            }
                            break;
                        case RESPONSE:
                            Message response = pmex.createMessage(pmex.getOperation().getOutput().getMessage().getQName());
                            response.setMessage(m.getResponse().getMessage());
                            pmex.reply(response);
                            break;
                        default:
                            __log.warn("Unexpected state: " + m.getStatus());
                            break;
View Full Code Here

        }
        myRoleMex.complete();
    }

    private void invokeProbeService(PartnerRoleMessageExchange prmx) {
        Message msg = prmx.getRequest();
        Element elm1 = prmx.getRequest().getPart("probeName");
        Element elm2 = prmx.getRequest().getPart("probeData");

        if ( elm1 != null && elm2 != null ) {
            String cat = elm2.getTextContent()+" -> "+elm1.getTextContent();
            elm2.setTextContent(cat);
            msg.setPart("probeData", elm2);
            final Message response = prmx.createMessage(prmx.getOperation().getOutput().getMessage().getQName());

            response.setMessage(msg.getMessage());
            prmx.reply(response);
        }
    }
View Full Code Here

    }

    private void invokeFaultService(PartnerRoleMessageExchange prmx) {
        QName errorMsgType = new QName(FAULT_NS,"errorMessage");
        QName responseMsgType = new QName(FAULT_NS,"faultMessage");
        Message faultMsg = prmx.createMessage(errorMsgType);
        Message responseMsg = prmx.createMessage(responseMsgType);

        String ind1 = prmx.getRequest().getPart("faultIndicator1").getTextContent();
        String ind2 = prmx.getRequest().getPart("faultIndicator2").getTextContent();
        String inputData = prmx.getRequest().getPart("faultData").getTextContent();

        StringBuffer faultData = new StringBuffer("<message><errorID>FA-1</errorID><errorText>");
        faultData.append(inputData);
        faultData.append("</errorText></message>");

        StringBuffer responseData = new StringBuffer("<message><faultName>FA-NoFault</faultName><faultData>");
        responseData.append(inputData);
        responseData.append("</faultData></message>");


        Element faultResponse = null;
        Element response = null;
        try {
            faultResponse = DOMUtils.stringToDOM(faultData.toString());
            response = DOMUtils.stringToDOM(responseData.toString());
        } catch (SAXException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


        // TODO: Question - how does one set parts that are of a simple xsd type?
        faultMsg.setMessage(faultResponse);
        responseMsg.setMessage(response);

        if ( ind1.equals("yes")){
            prmx.replyWithFault(new QName(FAULT_NS,"FaultMessage1"), faultMsg);
        } else {
            if ( ind2.equals("yes")){
View Full Code Here

                public Void call() throws Exception {
                    try {
                        mex[0] = _server.getEngine().createMessageExchange(new GUID().toString(), _invocation.target, _invocation.operation);
                        mexContext.clearCurrentResponse();

                        Message request = mex[0].createMessage(_invocation.requestType);
                        request.setMessage(_invocation.request);
                        _invocation.invokeTime = System.currentTimeMillis();
                        running[0] = mex[0].invoke(request);

                        Status status = mex[0].getStatus();
                        CorrelationStatus cstatus = mex[0].getCorrelationStatus();
View Full Code Here

                    case FAILURE:
                        // We can't seem to get the failure out of the myrole mex?
                        pmex.replyWithFailure(MessageExchange.FailureType.OTHER, "operation failed", null);
                        break;
                    case FAULT:
                        Message faultRes = pmex.createMessage(pmex.getOperation().getFault(m.getFault().getLocalPart())
                                .getMessage().getQName());
                        faultRes.setMessage(m.getResponse().getMessage());
                        pmex.replyWithFault(m.getFault(), faultRes);
                        break;
                    case RESPONSE:
                        Message response = pmex.createMessage(pmex.getOperation().getOutput().getMessage().getQName());
                        response.setMessage(m.getResponse().getMessage());
                        pmex.reply(response);
                        break;
                    default:
                        __log.warn("Unexpected state: " + m.getStatus());
                        break;
View Full Code Here

            if (BpelProcess.__log.isDebugEnabled()) {
                __log.debug("Invoking in a p2p interaction, partnerrole " + mex + " - myrole " + myRoleMex);
            }

            Message odeRequest = myRoleMex.createMessage(operation.getInput().getMessage().getQName());
            odeRequest.setMessage(outgoingMessage);
            ((MessageImpl)odeRequest)._dao.setHeader(message.getHeader());

            if (BpelProcess.__log.isDebugEnabled()) {
                __log.debug("Setting myRoleMex session ids for p2p interaction, mySession "
                        + partnerSessionId + " - partnerSess " + mySessionId);
View Full Code Here

            MessageExchangeDAO mexDao = _dao.getConnection().getMessageExchange(mexId);
            if (mexDao != null) {
                MyRoleMessageExchangeImpl mex = new MyRoleMessageExchangeImpl(_bpelProcess, _bpelProcess._engine, mexDao);
                _bpelProcess.initMyRoleMex(mex);

                Message message = mex.createMessage(faultData.getFaultName());
                if (faultData.getFaultMessage() != null)
                    message.setMessage(faultData.getFaultMessage());
                mex.setResponse(message);

                mex.setFault(faultData.getFaultName(), message);
                mex.setFaultExplanation(faultData.getExplanation());
                _bpelProcess._engine._contexts.mexContext.onAsyncReply(mex);
View Full Code Here

                          Fault fault = pmex.getOperation().getFault(m.getFault().getLocalPart());
                          if (fault == null) {
                            __log.error("process " + _bpelProcess + " instance " + _iid + " thrown unmapped fault in p2p communication " + m.getFault() + " " + m.getFaultExplanation() + " - converted to failure");
                                pmex.replyWithFailure(MessageExchange.FailureType.OTHER, "process thrown unmapped fault in p2p communication " + m.getFault() + " " + m.getFaultExplanation() + " - converted to failure", m.getFaultResponse().getMessage());
                          } else {
                              Message faultRes = pmex.createMessage(pmex.getOperation().getFault(m.getFault().getLocalPart())
                                      .getMessage().getQName());
                              faultRes.setMessage(m.getResponse().getMessage());
                              pmex.replyWithFault(m.getFault(), faultRes);
                          }
                            break;
                        case RESPONSE:
                            Message response = pmex.createMessage(pmex.getOperation().getOutput().getMessage().getQName());
                            response.setMessage(m.getResponse().getMessage());
                            pmex.reply(response);
                            break;
                        default:
                            __log.warn("Unexpected state: " + m.getStatus());
                            break;
View Full Code Here

TOP

Related Classes of org.apache.ode.bpel.iapi.Message

Copyright © 2018 www.massapicom. 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.