public static String getSoapMessageAsString(SOAPMessageContext context) { try { final ByteArrayOutputStream os = new ByteArrayOutputStream(); context.getMessage().writeTo(os); os.close(); return new String(os.toByteArray(), Charset.forName("UTF-8")); } catch (Exception e) { return null; } } }
SOAPMessage message = smc.getMessage(); try { message.writeTo(out);
static SOAPMessageContext getSoapMessageContext(String soapMessage, String wsdlOperation, boolean serverRequest) throws SOAPException, IOException { SOAPMessageContext soapMessageContext = mock(SOAPMessageContext.class); when(soapMessageContext.get(MessageContext.WSDL_OPERATION)).thenReturn(new QName("", wsdlOperation)); SOAPMessage soapMessage1 = mock(SOAPMessage.class); when(soapMessageContext.getMessage()).thenReturn(soapMessage1); when(soapMessageContext.containsKey(MessageContext.SERVLET_CONTEXT)).thenReturn(serverRequest); doAnswer(invocation -> { invocation.<OutputStream>getArgument(0).write(soapMessage.getBytes(StandardCharsets.UTF_8)); return null; }).when(soapMessage1).writeTo(any()); return soapMessageContext; } }
SOAPMessage message = smc.getMessage(); SOAPEnvelope envelope = smc.getMessage().getSOAPPart().getEnvelope(); SOAPHeader header = envelope.addHeader(); SOAPMessage message = smc.getMessage(); message.writeTo(System.out); System.out.println("");
try { final SOAPEnvelope envelope = msgCtx.getMessage().getSOAPPart().getEnvelope();
@Override public boolean handleFault(SOAPMessageContext context) { if (!shouldExecute(context)) { return true; } final Span span = tracingPlugin.getTracer().scopeManager().active().span(); Tags.ERROR.set(span, Boolean.TRUE); try { final SOAPFault fault = context.getMessage().getSOAPBody().getFault(); span.setTag("soap.fault.reason", fault.getFaultString()); span.setTag("soap.fault.code", fault.getFaultCode()); } catch (SOAPException e) { logger.warn("Exception while trying to access SOAP fault (this exception was suppressed)", e); } return true; }
public class MySoapHandler implements SOAPHandler<SOAPMessageContext> { @Override public boolean handleMessage(SOAPMessageContext soapMessageContext) { try { SOAPMessage message = soapMessageContext.getMessage(); // I haven't tested this message.getSOAPHeader().setPrefix("soapenv"); soapMessageContext.setMessage(message); } catch (SOAPException e) { // Handle exception } return true; } ... }
String wssePassword = null; try { SOAPHeader header = context.getMessage().getSOAPHeader(); Iterator<?> headerElements = header.examineAllHeaderElements(); while (headerElements.hasNext()) {
SOAPMessageContext context = mock(SOAPMessageContext.class, RETURNS_DEEP_STUBS); when(context.getMessage().getSOAPPart().getEnvelope(). getHeader().getElementsByTagName(anyString())). then(...);
public boolean handleMessage(SOAPMessageContext context) { ... SOAPMessage msg = context.getMessage(); msg.getSoapHeader(); ... }
/** * Process the tx thread context and attach serialized version as msg header * * @param messageContext * @return true */ protected boolean handleOutbound(SOAPMessageContext messageContext) { final SOAPMessage soapMessage = messageContext.getMessage() ; return handleOutboundMessage(soapMessage); } }
/** * {@inheritDoc} */ @Override public boolean handleFault(SOAPMessageContext context) { if (logger.isDebugEnabled()) { String messageAsString = getMessageAsString(context.getMessage()); logger.debug("Received fault message: {}", messageAsString); } return true; }
/** * Process the tx context header that is attached to the received message. * * @param msgContext * @return true */ protected boolean handleInbound(SOAPMessageContext msgContext) { final SOAPMessageContext soapMessageContext = (SOAPMessageContext)msgContext ; final SOAPMessage soapMessage = soapMessageContext.getMessage() ; return handleInboundMessage(soapMessage); }
/** * Tidy up the Transaction/Thread association before control is returned to the user. * * @param messageContext * @return true */ protected boolean handleInbound(SOAPMessageContext messageContext) { final SOAPMessage soapMessage = messageContext.getMessage() ; resumeTransaction(soapMessage); return true ; }
/** * Tidy up the Transaction/Thread association before control is returned to the user. * * @param messageContext * @return true */ protected boolean handleInbound(SOAPMessageContext messageContext) { final SOAPMessage soapMessage = messageContext.getMessage() ; resumeTransaction(soapMessage); return true ; }
public boolean handleResponse(SOAPMessageContext smc) { try { NodeList sessionNodeList = smc.getMessage().getSOAPHeader().getElementsByTagNameNS( "http://xml.apache.org/axis/session", "sessionID"); if (sessionNodeList.getLength() > 0) { sessionId = sessionNodeList.item(0).getFirstChild().getNodeValue(); } } catch (Exception ex) { ex.printStackTrace(); } return true; }
public static String addSoapBodyUuid(SOAPMessageContext smc) throws SOAPException { String id = "_" + UUID.randomUUID().toString(); smc.getMessage().getSOAPBody().addAttribute( new QName(WSU_NAMESPACE, WSU_ID_LOCAL_NAME, WSU_PREFIX), id); return id; }
SOAPMessage soapMessage = ((SOAPMessageContext)context).getMessage(); responseMsg = e.getBinding().createMessage(responseMsg); message.getExchange().setOutMessage(responseMsg); SOAPMessage soapMessage = ((SOAPMessageContext)context).getMessage();
private void handleOutboundMessage(SOAPMessageContext context) throws SOAPException { SOAPMessage soapMessage = context.getMessage(); SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); SOAPHeader header = soapEnvelope.getHeader(); NodeList toNodeList = header.getElementsByTagNameNS("http://www.w3.org/2005/08/addressing", "To"); if (toNodeList.getLength() != 0) { Element toElement = (Element) toNodeList.item(0); toElement.setTextContent(this.to); } }
/** * Returns the header. If not present then adds one and return the same */ private SOAPHeader getSOAPHeader(SOAPMessageContext smc) throws SOAPException { return smc.getMessage().getSOAPPart().getEnvelope().getHeader() == null ? smc .getMessage().getSOAPPart().getEnvelope().addHeader() : smc.getMessage().getSOAPPart().getEnvelope().getHeader(); }