public static SOAPEnvelope createSOAPMessage(MessageContext msgContext) throws AxisFault { return createSOAPMessage(msgContext, false); }
public static SOAPEnvelope createSOAPMessage(MessageContext msgContext) throws AxisFault { return createSOAPMessage(msgContext, false); }
private void waitForReply(MessageContext messageContext, DatagramSocket datagramSocket, String contentType) throws IOException { // piggy back message constant is used to pass a piggy back // message context in asnych model if (!(messageContext.getAxisOperation() instanceof OutInAxisOperation) && messageContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null) { return; } byte[] inputBuffer = new byte[4096]; //TODO set the maximum size parameter DatagramPacket packet = new DatagramPacket(inputBuffer, inputBuffer.length); datagramSocket.receive(packet); // create the soap envelope try { MessageContext respMessageContext = messageContext.getOperationContext(). getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN); InputStream inputStream = new ByteArrayInputStream(inputBuffer, 0, packet.getLength()); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(respMessageContext, inputStream, contentType); respMessageContext.setEnvelope(envelope); } catch (XMLStreamException e) { throw new AxisFault("Can not build the soap message ", e); } } }
private void waitForReply(MessageContext messageContext, DatagramSocket datagramSocket, String contentType) throws IOException { // piggy back message constant is used to pass a piggy back // message context in asnych model if (!(messageContext.getAxisOperation() instanceof OutInAxisOperation) && messageContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null) { return; } byte[] inputBuffer = new byte[4096]; //TODO set the maximum size parameter DatagramPacket packet = new DatagramPacket(inputBuffer, inputBuffer.length); datagramSocket.receive(packet); // create the soap envelope try { MessageContext respMessageContext = messageContext.getOperationContext(). getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN); InputStream inputStream = new ByteArrayInputStream(inputBuffer, 0, packet.getLength()); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(respMessageContext, inputStream, contentType); respMessageContext.setEnvelope(envelope); } catch (XMLStreamException e) { throw new AxisFault("Can not build the soap message ", e); } } }
private void waitForReply(MessageContext messageContext, DatagramSocket datagramSocket, String contentType) throws IOException { // piggy back message constant is used to pass a piggy back // message context in asnych model if (!(messageContext.getAxisOperation() instanceof OutInAxisOperation) && messageContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null) { return; } byte[] inputBuffer = new byte[4096]; //TODO set the maximum size parameter DatagramPacket packet = new DatagramPacket(inputBuffer, inputBuffer.length); datagramSocket.receive(packet); // create the soap envelope try { MessageContext respMessageContext = messageContext.getOperationContext(). getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN); InputStream inputStream = new ByteArrayInputStream(inputBuffer, 0, packet.getLength()); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(respMessageContext, inputStream, contentType); respMessageContext.setEnvelope(envelope); } catch (XMLStreamException e) { throw new AxisFault("Can not build the soap message ", e); } } }
protected void handleResponse(MessageContext responseMessageContext) throws AxisFault { responseMessageContext.setSoapAction(null); // for http transport the soap envelop is not build. but for smtp transport // it is build. so frist we check whether the soap envelop is build or // not. SOAPEnvelope resenvelope = responseMessageContext.getEnvelope(); if (resenvelope == null) { InputStream inStream = (InputStream) responseMessageContext.getProperty(MessageContext.TRANSPORT_IN); // we don't care about the situation where input stream is null. // this means this message has lost for some reason. for mercury we ignore it. if (inStream != null) { resenvelope = TransportUtils.createSOAPMessage(responseMessageContext); if (resenvelope != null) { responseMessageContext.setEnvelope(resenvelope); } else { throw new AxisFault(Messages .getMessage("blockingInvocationExpectsResponse")); } } } if (resenvelope != null) { AxisEngine.receive(responseMessageContext); } }
private void waitForReply(MessageContext msgContext, Socket socket, String contentType) throws AxisFault { if (!(msgContext.getAxisOperation() instanceof OutInAxisOperation) && msgContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null) { return; } try { MessageContext responseMsgCtx = createResponseMessageContext(msgContext); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(msgContext, socket.getInputStream(), contentType); responseMsgCtx.setEnvelope(envelope); AxisEngine.receive(responseMsgCtx); } catch (Exception e) { handleException("Error while processing response", e); } }
private void waitForReply(MessageContext msgContext, Socket socket, String contentType) throws AxisFault { if (!(msgContext.getAxisOperation() instanceof OutInAxisOperation) && msgContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null) { return; } try { MessageContext responseMsgCtx = createResponseMessageContext(msgContext); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(msgContext, socket.getInputStream(), contentType); responseMsgCtx.setEnvelope(envelope); AxisEngine.receive(responseMsgCtx); } catch (Exception e) { handleException("Error while processing response", e); } }
/** * When synchronous send() gets back a response MessageContext, this is the workhorse method which processes it. * * @param responseMessageContext the active response MessageContext * @throws AxisFault if something went wrong */ protected void handleResponse(final MessageContext responseMessageContext) throws AxisFault { // Options object reused above so soapAction needs to be removed so // that soapAction+wsa:Action on response don't conflict responseMessageContext.setSoapAction(null); if (responseMessageContext.getEnvelope() == null) { try { final SOAPEnvelope resenvelope = TransportUtils.createSOAPMessage(responseMessageContext); if (resenvelope != null) responseMessageContext.setEnvelope(resenvelope); } catch (final AxisFault af) { // This AxisFault indicates that there was no response received. Because this is allowd in ebMS // exchanges we just ignore this. } } SOAPEnvelope resenvelope = responseMessageContext.getEnvelope(); if (resenvelope != null) { AxisEngine.receive(responseMessageContext); if (responseMessageContext.getReplyTo() != null) { sc.setTargetEPR(responseMessageContext.getReplyTo()); } } }
/** * If there is a fault then need to handle that * @param responseMessageContext responseMessageContext * @throws AxisFault */ protected void handleResponse(MessageContext responseMessageContext) throws AxisFault { SOAPEnvelope envelope = responseMessageContext.getEnvelope(); if (envelope == null) { // If request is REST we assume the responseMessageContext is REST, so // set the variable InputStream inStream = (InputStream) responseMessageContext. getProperty(MessageContext.TRANSPORT_IN); if (inStream != null && checkContentLength(responseMessageContext)) { envelope = TransportUtils.createSOAPMessage( responseMessageContext); responseMessageContext.setEnvelope(envelope); } responseMessageContext.setEnvelope(envelope); } if (envelope != null) { if (envelope.hasFault()|| responseMessageContext.isProcessingFault()) { //receiving a fault AxisEngine.receive(responseMessageContext); throw Utils.getInboundFaultFromMessageContext(responseMessageContext); } } }
/** * If there is a fault then need to handle that * @param responseMessageContext responseMessageContext * @throws AxisFault */ protected void handleResponse(MessageContext responseMessageContext) throws AxisFault { SOAPEnvelope envelope = responseMessageContext.getEnvelope(); if (envelope == null) { // If request is REST we assume the responseMessageContext is REST, so // set the variable InputStream inStream = (InputStream) responseMessageContext. getProperty(MessageContext.TRANSPORT_IN); if (inStream != null && checkContentLength(responseMessageContext)) { envelope = TransportUtils.createSOAPMessage( responseMessageContext); responseMessageContext.setEnvelope(envelope); } responseMessageContext.setEnvelope(envelope); } if (envelope != null) { if (envelope.hasFault()|| responseMessageContext.isProcessingFault()) { //receiving a fault AxisEngine.receive(responseMessageContext); throw Utils.getInboundFaultFromMessageContext(responseMessageContext); } } }
public void run() { MetricsCollector metrics = endpoint.getMetrics(); try { InputStream inputStream = new ByteArrayInputStream(data, 0, length); MessageContext msgContext = endpoint.createMessageContext(); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(msgContext, inputStream, endpoint.getContentType()); msgContext.setEnvelope(envelope); if (outInfo != null) { if (outInfo.getContentType() == null) { outInfo.setContentType(endpoint.getContentType()); } msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, outInfo); } AxisEngine.receive(msgContext); metrics.incrementMessagesReceived(); metrics.incrementBytesReceived(length); } catch (Exception ex) { metrics.incrementFaultsReceiving(); StringBuilder buffer = new StringBuilder("Error during processing of datagram:\n"); Utils.hexDump(buffer, data, length); log.error(buffer.toString(), ex); } } }
public void run() { MessageContext msgContext = null; try { msgContext = endpoint.createMessageContext(); msgContext.setIncomingTransportName(Constants.TRANSPORT_TCP); //msgContext.setTransportIn(endpoint.getListener().getTransportInDescription()); TCPOutTransportInfo outInfo = new TCPOutTransportInfo(); outInfo.setSocket(socket); outInfo.setContentType(endpoint.getContentType()); msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, outInfo); // create the SOAP Envelope SOAPEnvelope envelope = TransportUtils.createSOAPMessage(msgContext, socket.getInputStream(), endpoint.getContentType()); msgContext.setEnvelope(envelope); AxisEngine.receive(msgContext); } catch (Exception e) { sendFault(msgContext, e); } finally { try { socket.close(); } catch (IOException e) { log.error("Error while closing a TCP socket", e); } } }
SOAPEnvelope resenvelope = TransportUtils.createSOAPMessage(responseMessageContext); if (resenvelope != null) { responseMessageContext.setEnvelope(resenvelope);
public void run() { MessageContext msgContext = null; try { msgContext = endpoint.createMessageContext(); msgContext.setIncomingTransportName(Constants.TRANSPORT_TCP); //msgContext.setTransportIn(endpoint.getListener().getTransportInDescription()); TCPOutTransportInfo outInfo = new TCPOutTransportInfo(); outInfo.setSocket(socket); outInfo.setContentType(endpoint.getContentType()); msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, outInfo); // create the SOAP Envelope SOAPEnvelope envelope = TransportUtils.createSOAPMessage(msgContext, socket.getInputStream(), endpoint.getContentType()); msgContext.setEnvelope(envelope); AxisEngine.receive(msgContext); } catch (Exception e) { sendFault(msgContext, e); } finally { try { socket.close(); } catch (IOException e) { log.error("Error while closing a TCP socket", e); } } }
public void run() { MetricsCollector metrics = endpoint.getMetrics(); try { InputStream inputStream = new ByteArrayInputStream(data, 0, length); MessageContext msgContext = endpoint.createMessageContext(); SOAPEnvelope envelope = TransportUtils.createSOAPMessage(msgContext, inputStream, endpoint.getContentType()); msgContext.setEnvelope(envelope); if (outInfo != null) { if (outInfo.getContentType() == null) { outInfo.setContentType(endpoint.getContentType()); } msgContext.setProperty(Constants.OUT_TRANSPORT_INFO, outInfo); } AxisEngine.receive(msgContext); metrics.incrementMessagesReceived(); metrics.incrementBytesReceived(length); } catch (Exception ex) { metrics.incrementFaultsReceiving(); StringBuilder buffer = new StringBuilder("Error during processing of datagram:\n"); Utils.hexDump(buffer, data, length); log.error(buffer.toString(), ex); } } }
TransportUtils.createSOAPMessage( msgContext, handleGZip(msgContext, in),
TransportUtils.createSOAPMessage( msgContext, handleGZip(msgContext, in),
TransportUtils.createSOAPMessage( msgContext, handleGZip(msgContext, in),
soapEnvelope = TransportUtils.createSOAPEnvelope(null); } else { soapEnvelope = TransportUtils.createSOAPMessage(msgContext, in, contentType);