SAAJInInterceptor.replaceHeaders(msg, message); } catch (SOAPException e) { e.printStackTrace();
private static void addHeader(String ticketId) { try { SOAPFactory sf = SOAPFactory.newInstance(); SOAPElement userIdHeaderElement = sf.createElement(new QName("http://www.stats.com/", "UserIdHeader")); SOAPElement ticketIdElement = sf.createElement(new QName(null, "TicketId")); ticketIdElement.addTextNode(ticketId); userIdHeaderElement.addChildElement(ticketIdElement); List<Header> headers = new ArrayList<Header>(); Header dummyHeader = new Header(new QName("http://www.stats.com/"), userIdHeaderElement); headers.add(dummyHeader); BindingProvider.class.cast(service).getRequestContext().put(Header.HEADER_LIST, headers); } catch (SOAPException e) { e.printStackTrace(); } }
/** * Free all the resources belonging to this class. */ public void free() { super.free(); try { if (m_con != null) m_con.close(); } catch (SOAPException ex) { ex.printStackTrace(); } } /**
public class AxisClientEnvelopeHandler extends BasicHandler { @Override public void invoke(MessageContext msgContext) throws AxisFault { try { // get the soap header SOAPMessageContext smc = (SOAPMessageContext) msgContext; SOAPMessage message = smc.getMessage(); SOAPEnvelope envelope = message.getSOAPPart().getEnvelope(); // fiddle with the namespaces envelope.addNamespaceDeclaration("YOUR NAMESPACE"); } catch (SOAPException e) { e.printStackTrace(); } } }
@Override public boolean handleMessage(SOAPMessageContext context) { if (isTraceOn()) { try { Boolean outbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); SOAPMessage msg = context.getMessage(); ByteArrayOutputStream out = new ByteArrayOutputStream(); msg.writeTo(out); String strMsg = new String(out.toByteArray()); if (outbound) { messageBehavior.handleOutboundMessage(strMsg); } else { messageBehavior.handleInboundMessage(strMsg); } } catch (SOAPException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return true; }
@Override public boolean handleMessage(SOAPMessageContext context) { if (isTraceOn()) { try { Boolean outbound = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); SOAPMessage msg = context.getMessage(); ByteArrayOutputStream out = new ByteArrayOutputStream(); msg.writeTo(out); String strMsg = new String(out.toByteArray()); if (outbound) { messageBehavior.handleOutboundMessage(strMsg); } else { messageBehavior.handleInboundMessage(strMsg); } } catch (SOAPException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return true; }
public static SOAPFaultException createSOAPFaultEx(SOAPFactory soapFactory, QName faultCode, String message) { SOAPFault sf = null; try { sf = soapFactory.createFault(); sf.setFaultCode(faultCode); sf.setFaultString(message); } catch (SOAPException se) { se.printStackTrace(); } return new SOAPFaultException(sf); }
public static SOAPMessage createDefaultSoapMessage(String responseMessage, String requestMessage) { try { SOAPMessage soapMessage = MessageFactory.newInstance().createMessage(); SOAPBody body = soapMessage.getSOAPPart().getEnvelope().getBody(); QName payloadName = new QName("http://apache.org/hello_world_soap_http/types", "greetMeResponse", "ns1"); SOAPBodyElement payload = body.addBodyElement(payloadName); SOAPElement message = payload.addChildElement("responseType"); message.addTextNode(responseMessage + " Request was " + requestMessage); return soapMessage; } catch (SOAPException e) { e.printStackTrace(); throw new RuntimeException(e); } }
try { SOAPMessage saajMessage = saajSoapMessage.getSaajMessage(); saajMessage.getSOAPPart().getEnvelope().removeNamespaceDeclaration("SOAP-ENV"); saajMessage.getSOAPPart().getEnvelope().addNamespaceDeclaration("ims", "http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p"); saajMessage.getSOAPPart().getEnvelope().setPrefix("soapenv"); saajMessage.getSOAPHeader().setPrefix("soapenv"); saajMessage.getSOAPBody().setPrefix("soapenv"); saajMessage.saveChanges(); } catch (SOAPException e) { e.printStackTrace(); }
public class SoapNamespaceHandler implements SOAPHandler<SOAPMessageContext>{ private final static String SOAP_PREFIX = "soapenv"; @Override public boolean handleMessage(final SOAPMessageContext context){ //only update the namespace prefix for outbound messages (requests) final Boolean isSoapRequest = (Boolean)context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (isSoapRequest){ try{ //get the soap message and envelope SOAPMessage soapMsg = context.getMessage(); SOAPEnvelope env = soapMsg.getSOAPPart().getEnvelope(); //set the prefix env.setPrefix(SOAP_PREFIX); // **** apply the changes to the message soapMsg.saveChanges(); } catch (SOAPException e) { e.printStackTrace(); } } return true; }
public boolean handleMessage(final SOAPMessageContext context) { final Boolean isSoapResponse = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY); if (!isSoapResponse) { try { final SOAPMessage soapMsg = context.getMessage(); soapMsg.getSOAPPart().getEnvelope().setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:soap", "http://schemas.xmlsoap.org/soap/envelope/"); soapMsg.getSOAPPart().getEnvelope().removeAttributeNS("http://schemas.xmlsoap.org/soap/envelope/", "env"); soapMsg.getSOAPPart().getEnvelope().removeAttribute("xmlns:env"); soapMsg.getSOAPPart().getEnvelope().setPrefix("soap"); soapMsg.getSOAPBody().setPrefix("soap"); soapMsg.getSOAPPart().getEnvelope().getHeader().detachNode(); } catch (SOAPException e) { e.printStackTrace(); } } return true; }
protected final void handleIncoming(final SOAPMessageContext context) { final SOAPMessage msg = context.getMessage(); final TraceeBackend backend = getTraceeBackend(); if (msg != null && backend.getConfiguration().shouldProcessContext(OutgoingRequest)) { try { final SOAPEnvelope env = msg.getSOAPPart().getEnvelope(); // get soap header final SOAPHeader header = env.getHeader(); if (header != null) { parseSoapHeaderToBackend(header); } } catch (final SOAPException e) { e.printStackTrace(); traceeLogger.error( "TraceeClientHandler : Exception occurred during processing of inbound message.", e); } } }
public void handleMessage(SoapMessage mc) throws Fault { SOAPMessage saaj = mc.getContent(SOAPMessage.class); if (cachedSecurityHeader == null) { try { Iterator<?> cachedHeadersIterator = SAAJUtils.getHeader(saaj).getChildElements(SEC_HEADER); if (cachedHeadersIterator.hasNext()) { cachedSecurityHeader = (SOAPHeaderElement)cachedHeadersIterator.next(); } } catch (SOAPException e) { // Ignore } } else { try { saaj.getSOAPHeader().removeContents(); SOAPHeaderElement secHeaderElement = SAAJUtils.getHeader(saaj).addHeaderElement(SEC_HEADER); Iterator<?> cachedHeadersIterator = cachedSecurityHeader.getChildElements(); while (cachedHeadersIterator.hasNext()) { secHeaderElement.addChildElement((SOAPElement)cachedHeadersIterator.next()); } } catch (SOAPException e) { e.printStackTrace(); } } }
@Override public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException { try { SOAPMessage soapMessage = ((SaajSoapMessage)message).getSaajMessage(); SOAPHeader header = soapMessage.getSOAPHeader(); SOAPHeaderElement soapHeaderElement = header.addHeaderElement(new QName("http://www.ups.com/XMLSchema/XOLTWS/UPSS/v1.0", "UPSSecurity", "v1")); SOAPEnvelope envelope = soapMessage.getSOAPPart().getEnvelope(); envelope.addNamespaceDeclaration("v1", "http://www.ups.com/XMLSchema/XOLTWS/UPSS/v1.0"); SOAPElement usernameToken = soapHeaderElement.addChildElement("UsernameToken", "v1"); SOAPElement username = usernameToken.addChildElement("Username", "v1"); SOAPElement password = usernameToken.addChildElement("Password", "v1"); SOAPElement serviceAccessToken = soapHeaderElement.addChildElement("ServiceAccessToken", "v1"); SOAPElement accessLicenseNumber = serviceAccessToken.addChildElement("AccessLicenseNumber", "v1"); username.setTextContent("username"); password.setTextContent("password"); accessLicenseNumber.setTextContent("key"); } catch (SOAPException e) { e.printStackTrace(); } }
/** * Test it! */ public void runTest(Properties properties) { try { Object jibxMessage = createMessage(properties); SOAPMessage soapMessage = createSOAPMessage(jibxMessage); SOAPConnection connection = SOAPConnectionFactory.newInstance().createConnection(); SOAPMessage soapResponse = connection.call(soapMessage, getEndpoint(properties)); connection.close(); Object res = getResponseFromSOAPMessage(soapResponse, getResponseClass(jibxMessage)); checkResponseMessage(properties, res); } catch (SOAPException e) { e.printStackTrace(); } } /**
/** * Test it! */ public void runTest(Properties properties) { try { Object jibxMessage = createMessage(properties); SOAPMessage soapMessage = createSOAPMessage(jibxMessage); SOAPConnection connection = SOAPConnectionFactory.newInstance().createConnection(); SOAPMessage soapResponse = connection.call(soapMessage, getEndpoint(properties)); connection.close(); Object res = getResponseFromSOAPMessage(soapResponse, getResponseClass(jibxMessage)); checkResponseMessage(properties, res); } catch (SOAPException e) { e.printStackTrace(); } } /**
private void alterSoapEnvelope(SaajSoapMessage soapResponse) { try { SOAPMessage soapMessage = soapResponse.getSaajMessage(); SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope envelope = soapPart.getEnvelope(); SOAPHeader header = soapMessage.getSOAPHeader(); SOAPBody body = soapMessage.getSOAPBody(); SOAPFault fault = body.getFault(); envelope.removeNamespaceDeclaration(envelope.getPrefix()); envelope.addNamespaceDeclaration(PREFERRED_PREFIX, SOAP_ENV_NAMESPACE); envelope.setPrefix(PREFERRED_PREFIX); header.setPrefix(PREFERRED_PREFIX); body.setPrefix(PREFERRED_PREFIX); if (fault != null) { fault.setPrefix(PREFERRED_PREFIX); } } catch (SOAPException e) { e.printStackTrace(); } }