/** * 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; } }
/** * Send an Error Response * * @param msgContext * @param payload */ public static MessageContext getFaultMessagecontext(MessageContext msgContext, String payload) { try { MessageContext faultContext = MessageContextBuilder.createFaultMessageContext(msgContext, new AxisFault(payload)); faultContext.setProperty("ContentType","application/xml"); return faultContext; } catch (AxisFault e) { log.error("Error in sending fault response", e); } return msgContext; }
MessageContext faultContext = createResponseMessageContext(processingContext); setupCorrectTransportOut(faultContext); SOAPEnvelope envelope = createFaultEnvelope(processingContext, e); faultContext.setEnvelope(envelope);
MessageContext newmsgCtx = createResponseMessageContext(inMessageContext); setupCorrectTransportOut(newmsgCtx); return newmsgCtx;
MessageContext faultContext = createResponseMessageContext(processingContext); setupCorrectTransportOut(faultContext); SOAPEnvelope envelope = createFaultEnvelope(processingContext, e); faultContext.setEnvelope(envelope);
MessageContext newmsgCtx = createResponseMessageContext(inMessageContext); setupCorrectTransportOut(newmsgCtx); return newmsgCtx;
private static void setOutMessageContextToBPELMessageContext( final BPELMessageContext bpelMessageContext) throws AxisFault { MessageContext outMessageContext = MessageContextBuilder .createOutMessageContext(bpelMessageContext.getInMessageContext()); outMessageContext.getOperationContext().addMessageContext(outMessageContext); bpelMessageContext.setOutMessageContext(outMessageContext); }
private void sendFault(MessageContext msgContext, Exception fault) { log.error("Error while processing TCP request through the Axis2 engine", fault); try { if (msgContext != null) { msgContext.setProperty(MessageContext.TRANSPORT_OUT, socket.getOutputStream()); MessageContext faultContext = MessageContextBuilder.createFaultMessageContext(msgContext, fault); AxisEngine.sendFault(faultContext); } } catch (Exception e) { log.error("Error while sending the fault response", e); } } }
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 sendFault(MessageContext msgContext, Exception fault) { log.error("Error while processing TCP request through the Axis2 engine", fault); try { if (msgContext != null) { msgContext.setProperty(MessageContext.TRANSPORT_OUT, socket.getOutputStream()); MessageContext faultContext = MessageContextBuilder.createFaultMessageContext(msgContext, fault); AxisEngine.sendFault(faultContext); } } catch (Exception e) { log.error("Error while sending the fault response", e); } } }
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 sendFault(MessageContext msgContext, Exception e) { try { MessageContext faultContext = MessageContextBuilder.createFaultMessageContext( msgContext, e); faultContext.setProperty("ERROR_MESSAGE", e.getMessage()); faultContext.setProperty("SENDING_FAULT", Boolean.TRUE); AxisEngine.sendFault(faultContext); } catch (AxisFault axisFault) { log.fatal("Could not create the fault message.", axisFault); } }
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); } }
MessageContext faultContext = MessageContextBuilder.createFaultMessageContext( msgContext, newException); AxisEngine.sendFault(faultContext);
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); } }
MessageContext faultContext = MessageContextBuilder.createFaultMessageContext( msgContext, e); AxisEngine.sendFault(faultContext);
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; } }
protected void handleFault(MessageContext msgContext, OutputStream out, AxisFault e) throws AxisFault { msgContext.setProperty(MessageContext.TRANSPORT_OUT, out); MessageContext faultContext = MessageContextBuilder.createFaultMessageContext(msgContext, e); // SOAP 1.2 specification mentions that we should send HTTP code 400 in a fault if the // fault code Sender HttpServletResponse response = (HttpServletResponse) msgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETRESPONSE); if (response != null) { //TODO : Check for SOAP 1.2! SOAPFaultCode code = faultContext.getEnvelope().getBody().getFault().getCode(); OMElement valueElement = null; if (code != null) { valueElement = code.getFirstChildWithName(new QName( SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME)); } if (valueElement != null) { if (SOAP12Constants.FAULT_CODE_SENDER.equals(valueElement.getTextAsQName().getLocalPart()) && !msgContext.isDoingREST()) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); } } } AxisEngine.sendFault(faultContext); }
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 void handleFault(MessageContext msgContext, OutputStream out, AxisFault e) throws AxisFault { msgContext.setProperty(MessageContext.TRANSPORT_OUT, out); MessageContext faultContext = MessageContextBuilder.createFaultMessageContext(msgContext, e); // SOAP 1.2 specification mentions that we should send HTTP code 400 in a fault if the // fault code Sender HttpServletResponse response = (HttpServletResponse) msgContext.getProperty(HTTPConstants.MC_HTTP_SERVLETRESPONSE); if (response != null) { //TODO : Check for SOAP 1.2! SOAPFaultCode code = faultContext.getEnvelope().getBody().getFault().getCode(); OMElement valueElement = null; if (code != null) { valueElement = code.getFirstChildWithName(new QName( SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI, SOAP12Constants.SOAP_FAULT_VALUE_LOCAL_NAME)); } if (valueElement != null) { if (SOAP12Constants.FAULT_CODE_SENDER.equals(valueElement.getTextAsQName().getLocalPart()) && !msgContext.isDoingREST()) { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); } } } AxisEngine.sendFault(faultContext); }