/** * Creates a new {@see MessageContext} for the response. * * @param msgContext The current, i.e. in flow, message context * @return The new message context for the outgoing flow * @throws AxisFault When an error occurs during the creation of the response * message context */ protected MessageContext createResponseContext(final MessageContext msgContext) throws AxisFault { final MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(msgContext); outMsgContext.getOperationContext().addMessageContext(outMsgContext); replicateState(msgContext); return outMsgContext; } }
private static void setOutMessageContextToBPELMessageContext( final BPELMessageContext bpelMessageContext) throws AxisFault { MessageContext outMessageContext = MessageContextBuilder .createOutMessageContext(bpelMessageContext.getInMessageContext()); outMessageContext.getOperationContext().addMessageContext(outMessageContext); bpelMessageContext.setOutMessageContext(outMessageContext); }
public final void invokeBusinessLogic(MessageContext msgContext) throws AxisFault { MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(msgContext); outMsgContext.getOperationContext().addMessageContext(outMsgContext); invokeBusinessLogic(msgContext, outMsgContext); replicateState(msgContext); AxisEngine.send(outMsgContext); } }
public final void invokeBusinessLogic(MessageContext msgContext) throws AxisFault { MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(msgContext); outMsgContext.getOperationContext().addMessageContext(outMsgContext); invokeBusinessLogic(msgContext, outMsgContext); replicateState(msgContext); AxisEngine.send(outMsgContext); } }
public final void invokeBusinessLogic(MessageContext msgContext) throws AxisFault { MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(msgContext); outMsgContext.getOperationContext().addMessageContext(outMsgContext); invokeBusinessLogic(msgContext, outMsgContext); replicateState(msgContext); AxisEngine.send(outMsgContext); } }
public final void invokeBusinessLogic(MessageContext msgContext) throws AxisFault { MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(msgContext); outMsgContext.getOperationContext().addMessageContext(outMsgContext); invokeBusinessLogic(msgContext, outMsgContext); replicateState(msgContext); AxisEngine.send(outMsgContext); } }
private void processgetWSDLOperation(MessageContext messageContext) throws Exception { MessageContext response = null; EndpointReference gfacUrl = new EndpointReference((String)messageContext.getConfigurationContext().getProperty(GFAC_URL)); String serviceName = getOriginalServiceName(messageContext); String serviceEpr = gfacUrl.getAddress().split(WSConstants.GFAC_SERVICE_NAME)[0] + serviceName; ConfigurationContext context = messageContext.getConfigurationContext(); try { OMElement wsdlElement = getWSDL(context, serviceName); // create Concrete WSDL String cWSDL = WSDLUtil.createCWSDL(wsdlElement.toString(), serviceEpr); SOAPFactory sf = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope responseEnv = sf.createSOAPEnvelope(); sf.createSOAPBody(responseEnv); XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader( new StringReader(cWSDL.toString())); StAXOMBuilder builder = new StAXOMBuilder(reader); responseEnv.getBody().addChild(builder.getDocumentElement()); response = MessageContextBuilder.createOutMessageContext(messageContext); response.setEnvelope(responseEnv); response.getOperationContext().addMessageContext(response); AxisEngine.send(response); } catch (Exception fault) { log.error("Error creating response"); throw fault; } }
private void processgetAbstractWSDLOperation(MessageContext messageContext) throws Exception { MessageContext response = null; String serviceName = getOriginalServiceName(messageContext); ConfigurationContext context = messageContext.getConfigurationContext(); // TODO this logic has to change based on the logic we are storing data // into repository try { OMElement wsdlElement = getWSDL(context, serviceName); SOAPFactory sf = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope responseEnv = sf.createSOAPEnvelope(); sf.createSOAPBody(responseEnv); responseEnv.getBody().addChild(wsdlElement); response = MessageContextBuilder.createOutMessageContext(messageContext); response.setEnvelope(responseEnv); response.getOperationContext().addMessageContext(response); AxisEngine.send(response); } catch (Exception fault) { log.error("Error creating response"); throw fault; } }
private void processgetAbstractWSDLOperation(MessageContext messageContext) throws Exception { MessageContext response = null; String serviceName = getOriginalServiceName(messageContext); ConfigurationContext context = messageContext.getConfigurationContext(); // TODO this logic has to change based on the logic we are storing data // into repository try { OMElement wsdlElement = getWSDL(context, serviceName); SOAPFactory sf = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope responseEnv = sf.createSOAPEnvelope(); sf.createSOAPBody(responseEnv); responseEnv.getBody().addChild(wsdlElement); response = MessageContextBuilder.createOutMessageContext(messageContext); response.setEnvelope(responseEnv); response.getOperationContext().addMessageContext(response); AxisEngine.send(response); } catch (Exception fault) { log.error("Error creating response"); throw fault; } }
protected MessageContext createOutputMessageContext(MessageContext inMsg, ProcessingContext processingContext) throws AxisFault { MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(inMsg); outMsgContext.getOperationContext().addMessageContext(outMsgContext); SOAPEnvelope outputEnvelope = getSOAPFactory(inMsg).getDefaultEnvelope(); if (processingContext.getRespMessage() != null) { outputEnvelope.getBody().addChild(processingContext.getRespMessage()); if (processingContext.getResponseMsgNamespaces() != null) { declareResponseMsgNamespace(outputEnvelope, processingContext.getResponseMsgNamespaces()); } } outMsgContext.setEnvelope(outputEnvelope); return outMsgContext; }
protected MessageContext createOutputMessageContext(MessageContext inMsg, ProcessingContext processingContext) throws AxisFault { MessageContext outMsgContext = MessageContextBuilder.createOutMessageContext(inMsg); outMsgContext.getOperationContext().addMessageContext(outMsgContext); SOAPEnvelope outputEnvelope = getSOAPFactory(inMsg).getDefaultEnvelope(); if (processingContext.getRespMessage() != null) { outputEnvelope.getBody().addChild(processingContext.getRespMessage()); if (processingContext.getResponseMsgNamespaces() != null) { declareResponseMsgNamespace(outputEnvelope, processingContext.getResponseMsgNamespaces()); } } outMsgContext.setEnvelope(outputEnvelope); return outMsgContext; }
/** * Creates the {@link MessageContext} for the response to message currently being processed. * * @param reqContext The MessageContext of the received message * @return The MessageContext for the response message */ public static MessageContext createResponseMessageContext(final MessageContext reqContext) { try { MessageContext resCtx = null; // First try to get the context for the response from the OperationContext final OperationContext opContext = reqContext.getOperationContext(); if (opContext != null) { resCtx = opContext.getMessageContext(WSDLConstants.MESSAGE_LABEL_OUT_VALUE); } // If that fails, construct a new context if (resCtx == null) { resCtx = MessageContextBuilder.createOutMessageContext(reqContext); resCtx.getOperationContext().addMessageContext(resCtx); } return resCtx; } catch (final AxisFault af) { // Somewhere the construction of the new MessageContext failed return null; } } }
/** * Dispatch the message to the target endpoint * * @param soapEnvelope Soap Enevlop with message * @param responseAction WSE action for the response * @param mc Message Context * @param isFault Whether a Fault message must be sent * @throws AxisFault Thrown by the axis2 engine. */ private void dispatchResponse(SOAPEnvelope soapEnvelope, String responseAction, MessageContext mc, boolean isFault) throws AxisFault { MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc); rmc.getOperationContext().addMessageContext(rmc); replicateState(mc); rmc.setEnvelope(soapEnvelope); rmc.setWSAAction(responseAction); rmc.setSoapAction(responseAction); if (isFault) { AxisEngine.sendFault(rmc); } else { AxisEngine.send(rmc); } }
public MessageContext getAbstractResponseMessageContext(MessageContext requestMessageContext) throws AxisFault { MessageContext outMessageCtx = MessageContextBuilder.createOutMessageContext(requestMessageContext); SOAPFactory factory = getSOAPFactory(requestMessageContext); AxisOperation operation = requestMessageContext.getOperationContext().getAxisOperation(); AxisService service = requestMessageContext.getAxisService(); OMElement bodyContent; AxisMessage outMessage = operation.getMessage(OperationsConstants.OUT); bodyContent = factory.createOMElement(outMessage.getName(), factory.createOMNamespace(namespace, service.getSchemaTargetNamespacePrefix())); try { setPayload(bodyContent); } catch (XMLStreamException e) { String msg = "Error in adding the payload to the response message"; log.error(msg); throw new AxisFault(msg, e); } SOAPEnvelope soapEnvelope = factory.getDefaultEnvelope(); soapEnvelope.getBody().addChild(bodyContent); outMessageCtx.setEnvelope(soapEnvelope); return outMessageCtx; }
/** * Dispatch the message to the target endpoint * * @param soapEnvelope Soap Enevlop with message * @param responseAction WSE action for the response * @param mc Message Context * @param isFault Whether a Fault message must be sent * @throws AxisFault Thrown by the axis2 engine. */ private void dispatchResponse(SOAPEnvelope soapEnvelope, String responseAction, MessageContext mc, boolean isFault) throws AxisFault { MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc); rmc.getOperationContext().addMessageContext(rmc); replicateState(mc); rmc.setEnvelope(soapEnvelope); rmc.setWSAAction(responseAction); rmc.setSoapAction(responseAction); if (isFault) { AxisEngine.sendFault(rmc); } else { AxisEngine.send(rmc); } } }
/** * Dispatch the message to the target endpoint * * @param soapEnvelope Soap Enevlop with message * @param responseAction WSE action for the response * @param mc Message Context * @param isFault Whether a Fault message must be sent * @throws AxisFault Thrown by the axis2 engine. */ private void dispatchResponse(SOAPEnvelope soapEnvelope, String responseAction, MessageContext mc, boolean isFault) throws AxisFault { MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc); rmc.getOperationContext().addMessageContext(rmc); replicateState(mc); rmc.setEnvelope(soapEnvelope); rmc.setWSAAction(responseAction); rmc.setSoapAction(responseAction); if (isFault) { AxisEngine.sendFault(rmc); } else { AxisEngine.send(rmc); } }
/** * Dispatch the message to the target endpoint * * @param soapEnvelope Soap Enevlop with message * @param responseAction WSE action for the response * @param mc Message Context * @param faultMessage Fault message * @throws AxisFault AxisFault */ private void dispatchResponse(SOAPEnvelope soapEnvelope, String responseAction, MessageContext mc, boolean faultMessage) throws AxisFault { MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc); rmc.getOperationContext().addMessageContext(rmc); rmc.setEnvelope(soapEnvelope); rmc.setWSAAction(responseAction); rmc.setSoapAction(responseAction); rmc.setProperty(SynapseConstants.ISRESPONSE_PROPERTY, Boolean.TRUE); if (faultMessage) { AxisEngine.sendFault(rmc); } else { AxisEngine.send(rmc); } }
/** * Dispatch the message to the target endpoint * * @param soapEnvelope Soap Enevlop with message * @param responseAction WSE action for the response * @param mc Message Context * @param isFault Whether a Fault message must be sent * @throws AxisFault Thrown by the axis2 engine. */ private void dispatchResponse(SOAPEnvelope soapEnvelope, String responseAction, MessageContext mc, boolean isFault) throws AxisFault { MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc); rmc.getOperationContext().addMessageContext(rmc); replicateState(mc); rmc.setEnvelope(soapEnvelope); rmc.setWSAAction(responseAction); rmc.setSoapAction(responseAction); if (isFault) { AxisEngine.sendFault(rmc); } else { AxisEngine.send(rmc); } } }
/** * Dispatch the message to the target endpoint * * @param soapEnvelope Soap Enevlop with message * @param responseAction WSE action for the response * @param mc Message Context * @param faultMessage Fault message * @throws AxisFault AxisFault */ private void dispatchResponse(SOAPEnvelope soapEnvelope, String responseAction, MessageContext mc, boolean faultMessage) throws AxisFault { MessageContext rmc = MessageContextBuilder.createOutMessageContext(mc); rmc.getOperationContext().addMessageContext(rmc); rmc.setEnvelope(soapEnvelope); rmc.setWSAAction(responseAction); rmc.setSoapAction(responseAction); rmc.setProperty(SynapseConstants.ISRESPONSE_PROPERTY, Boolean.TRUE); if (faultMessage) { AxisEngine.sendFault(rmc); } else { AxisEngine.send(rmc); } }
public void sendCreateSequenceResponseMessage() throws AxisFault, RMMessageBuildingException { // TODO: set the correct mercury and soap namesapce if (this.createSequenceMessageContext != null) { // the create Sequence Message Context is not null only for the sequences started with the // create sequence reqest // note that the persistence storage sequences start straight away with the // message received state. therefore the createSequence responses don't have to send CreateSequenceResponseMessage createSequenceResponseMessage = new CreateSequenceResponseMessage(); createSequenceResponseMessage.setIdentifier(sequenceID); createSequenceResponseMessage.setSoapNamesapce( this.createSequenceMessageContext.getEnvelope().getNamespace().getNamespaceURI()); // Set the accept header if a sequence has occured if (this.selfAcksToEPR != null){ Accept accept = new Accept(); accept.setAcceptERP(this.selfAcksToEPR); accept.setAddressingNamespace(this.axis2Info.getAddressingNamespaceURI()); createSequenceResponseMessage.setAccept(accept); } MessageContext messageContext = MessageContextBuilder.createOutMessageContext(this.createSequenceMessageContext); messageContext.setProperty(MercuryConstants.PROCESS_RM_CONTROL_MESSAGE, Constants.VALUE_TRUE); messageContext.setEnvelope(createSequenceResponseMessage.toSOAPEnvelope()); messageContext.setTo(this.acksTo); messageContext.getOptions().setAction(MercuryConstants.CREATE_SEQUENCE_RESPONSE_ACTION); //use message worker to send this message. sendMessage(messageContext, false); } }