SOAPEnvelope envelope = smc.getMessage().getSOAPPart().getEnvelope(); SOAPHeader header = envelope.addHeader(); header.addChildElement("Security", "wsse", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"); security.addChildElement("UsernameToken", "wsse"); usernameToken.addAttribute(new QName("xmlns:wsu"), "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"); usernameToken.addChildElement("Username", "wsse"); username.addTextNode("test"); usernameToken.addChildElement("Password", "wsse"); password.setAttribute("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"); password.addTextNode("test321"); message.writeTo(System.out); System.out.println(""); message.writeTo(System.out); System.out.println(""); final QName securityHeader = new QName( "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", "wsse");
soapResponse.writeTo(System.out); MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope envelope = soapPart.getEnvelope(); envelope.addNamespaceDeclaration("example", serverURI); SOAPBody soapBody = envelope.getBody(); SOAPElement soapBodyElem = soapBody.addChildElement("VerifyEmail", "example"); SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("email", "example"); soapBodyElem1.addTextNode("mutantninja@gmail.com"); SOAPElement soapBodyElem2 = soapBodyElem.addChildElement("LicenseKey", "example"); soapBodyElem2.addTextNode("123"); MimeHeaders headers = soapMessage.getMimeHeaders(); headers.addHeader("SOAPAction", serverURI + "VerifyEmail");
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); } }
private static void addHeader(Message m, Set<QName> notUnderstoodHeaders) throws SOAPException { for (QName qname : notUnderstoodHeaders) { SOAPElement soapEl = SOAP_12.getSOAPFactory().createElement(MU_HEADER_DETAIL); soapEl.addNamespaceDeclaration("abc", qname.getNamespaceURI()); soapEl.setAttribute("qname", "abc:" + qname.getLocalPart()); Header header = new DOMHeader<Element>(soapEl); m.getHeaders().add(header); } } }
/** Set the qname value to the given element. * @param value a namespace qualified name; its namespace name MUST NOT be empty */ public static void setQualifiedElementValue(SOAPElement element, QName value) throws SOAPException { String prefix = ensureNamespaceDeclared(element, value.getPrefix(), value.getNamespaceURI()); element.setValue(prefix + ':' + value.getLocalPart()); }
private static final QName QNAME_WSSE_USERNAMETOKEN = new QName(WSSE_NS_URI, "UsernameToken"); private static final QName QNAME_WSSE_USERNAME = new QName(WSSE_NS_URI, "Username"); private static final QName QNAME_WSSE_PASSWORD = new QName(WSSE_NS_URI, "Password"); String wssePassword = null; try { SOAPHeader header = context.getMessage().getSOAPHeader(); Iterator<?> headerElements = header.examineAllHeaderElements(); while (headerElements.hasNext()) { SOAPHeaderElement headerElement = (SOAPHeaderElement) headerElements .next(); if (headerElement.getElementName().getLocalName() .equals("Security")) { SOAPHeaderElement securityElement = headerElement; Iterator<?> it2 = securityElement.getChildElements(); while (it2.hasNext()) { Node soapNode = (Node) it2.next(); if (soapNode instanceof SOAPElement) { SOAPElement element = (SOAPElement) soapNode; QName elementQname = element.getElementQName(); if (QNAME_WSSE_USERNAMETOKEN.equals(elementQname)) { SOAPElement usernameTokenElement = element; Iterator<?> it = soapElement.getChildElements(qNameToFind); while (it.hasNext()) {
String token = "authentication token given from service"; SOAPFactory sf = SOAPFactory.newInstance(); SOAPElement authElement = sf.createElement(new QName("urn:example.com", "Authentication")); SOAPElement tokenElement = sf.createElement(new QName(null, "AuthenticationToken")); tokenElement.addTextNode(token); authElement.addChildElement(tokenElement); List<Header> headers = new ArrayList<Header>(); Header dummyHeader = new Header(new QName("urn:example.com"), authElement); headers.add(dummyHeader);
static void addAttibuteToElement(SOAPElement element, String prefix, String ns, String ln, String value) throws XMLStreamException { try { if (ns == null) { element.setAttributeNS("", ln, value); } else { QName name = prefix == null ? new QName(ns, ln) : new QName(ns, ln, prefix); element.addAttribute(name, value); } } catch (SOAPException e) { throw new XMLStreamException(e); } }
public boolean getMustUnderstand() { final String headerURI = getParentElement().getNamespaceURI(); return DOMUtils.getAttributeValueAsBoolean(this, new QName(headerURI, Constants.SOAP11_ATTR_MUST_UNDERSTAND)); }
@Test public void test() throws Exception { MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); soapEnvelope.addNamespaceDeclaration("xsd", "http://www.w3.org/2001/XMLSchema"); soapEnvelope.addNamespaceDeclaration("xsi", "http://www.w3.org/2001/XMLSchema-instance"); soapEnvelope.addNamespaceDeclaration("bran", "BDetail"); SOAPBody soapBody = soapEnvelope.getBody(); SOAPElement soapElement = soapBody.addChildElement( "sentIbBTyp", "bran"); soapElement .setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/"); SOAPElement elementBankCode = soapElement.addChildElement("pBnCode"); // added missing attribute QName qname = new QName("xsi:type"); elementBankCode.addAttribute(qname, "xsd:string"); elementBankCode.setValue("234"); soapMessage.writeTo(System.out); }
SOAPMessage sm = MessageFactory.newInstance().createMessage(); sm.setProperty(SOAPMessage.WRITE_XML_DECLARATION, "true"); sm.setProperty(SOAPMessage.CHARACTER_SET_ENCODING, "UTF-8"); SOAPPart sp = sm.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); se.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/"); se.setAttribute("xmlns:SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/"); se.setAttribute("xmlns:soa", "http://www.sbg.com"); SOAPBody sb = sm.getSOAPBody(); SOAPBodyElement el = sb.addBodyElement(new QName("http://www.sbg.com", "response", "soa")); el.setAttribute("_ctxID", "cid=xref_members,cn=admin"); el.setAttribute("status", "OK"); SOAPElement in = el.addChildElement("response_code"); in.setValue("0000"); sm.writeTo(System.out);
//create SOAP SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance(); SOAPConnection connection = sfc.createConnection(); SOAPMessage soapMessage = MessageFactory.newInstance().createMessage(); SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); SOAPBody soapBody = soapEnvelope.getBody(); SOAPElement Header = soapBody.addBodyElement(new QName("Header")); //attribute SOAPElement Security= Header.addChildElement(new QName("Security")); SOAPElement UsernameToken= Security.addChildElement(new QName("UsernameToken")); SOAPElement Username= UsernameToken.addChildElement(new QName("Username")); SOAPElement Password= UsernameToken.addChildElement(new QName("Password")); //enter the username and password Username.addTextNode("username"); Password.addTextNode("password"); //send the soap and print out the result URL endpoint = "http://localhost:8080/soap/getMessage?wsdl"; SOAPMessage response = connection.call(soapMessage, endpoint);
public GreetMeResponse greetMe(GreetMeRequest gmr) { if ("fault".equals(gmr.getName())) { try { SOAPFactory factory = SOAPFactory.newInstance(); SOAPFault fault = factory.createFault("this is a fault string!", new QName("http://foo", "FooCode")); fault.setFaultActor("mr.actor"); fault.addDetail().addChildElement("test").addTextNode("TestText"); throw new SOAPFaultException(fault); } catch (SOAPException ex) { throw new WebServiceException(ex); } } else if ("emptyfault".equals(gmr.getName())) { throw new RuntimeException("Empty!"); } GreetMeResponse resp = new GreetMeResponse(); resp.setName(gmr.getName()); return resp; }
SOAPBody body = message.getSOAPBody(); QName bodyName = new QName("http://www.webserviceX.NET", "GetAtomicNumber"); SOAPBodyElement bodyElement = body.addBodyElement(bodyName); SOAPElement symbol = bodyElement.addChildElement("MyMetal"); symbol.addTextNode("iron"); SOAPConnection connection = SOAPConnectionFactory.newInstance().createConnection(); SOAPMessage response = connection.call(message, endpoint); connection.close(); message.writeTo(System.out); System.out.println(); response.writeTo(System.out); System.out.println();
SOAPMessage soapMessage = ((SaajSoapMessage) message).getSaajMessage(); SOAPHeader header = soapMessage.getSOAPHeader(); SOAPHeaderElement security = header.addHeaderElement(new QName(SCHEMA, "Security", SCHEMA_PREFIX)); SOAPElement usernameToken = security.addChildElement("UsernameToken", SCHEMA_PREFIX); SOAPElement usernameElement = usernameToken.addChildElement("Username", SCHEMA_PREFIX); SOAPElement passwordElement = usernameToken.addChildElement("Password", SCHEMA_PREFIX); usernameElement.setTextContent(username); passwordElement.setTextContent(password);
@Override protected void runTest() throws Throwable { SOAPElement parent = newSOAPFactory().createElement(new QName("parent")); SOAPElement child1 = parent.addChildElement(new QName("child1")); SOAPElement child2 = (SOAPElement)parent.getOwnerDocument().createElementNS(null, "child2"); child2.setParentElement(parent); NodeList children = parent.getChildNodes(); assertEquals(2, children.getLength()); assertSame(child1, children.item(0)); assertSame(child2, children.item(1)); } }
SOAPElement sigInfo = sigElem.addChildElement(new QName("SignedInfo")); SOAPElement canon = sigInfo.addChildElement(new QName("CanonicalizationMethod")); canon.addAttribute(soapFactory.createName("Algorithm"), Canonicalizer.ALGO_ID_C14N_EXCL_OMIT_COMMENTS); //[continue adding the other elements...] //canonicalize the entire, completed 'SignedInfo' block byte[] bytesToSign = canonizer.canonicalizeSubtree(sigInfo);
public ArrayList getMessageInfo(SOAPMessage message) { ArrayList list = new ArrayList(); try { if(message == null || message.getSOAPPart() == null) return list; SOAPEnvelope env = message.getSOAPPart().getEnvelope(); SOAPBody body = env.getBody(); Iterator it = body.getChildElements(); SOAPElement operation = (SOAPElement)it.next(); list.add(operation.getElementName().toString()); for (Iterator i = operation.getChildElements(); i.hasNext();) { SOAPElement elt = (SOAPElement)i.next(); list.add(elt.getElementName().toString()); } } catch (Exception e) { log.debug("Exception in getMessageInfo : ", e); } return list; }
MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope envelope = soapPart.getEnvelope(); envelope.addNamespaceDeclaration("ns", "website"); envelope.addNamespaceDeclaration("com", "website/Common"); envelope.addNamespaceDeclaration("xm", "http://www.w3.org/2005/05/xmlmime"); SOAPBody soapBody = envelope.getBody(); SOAPElement element = soapBody.addChildElement("RequestName", "ns"); SOAPElement modelElement = element.addChildElement("model", "ns"); SOAPElement soapElement = modelElement.addChildElement("keys", "ns"); soapElement.addAttribute(envelope.createName("query"), "myquery;"); modelElement.addChildElement("instance", "ns"); soapMessage.saveChanges(); soapMessage.writeTo(System.out);
MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage message = messageFactory.createMessage(); SOAPPart SOAPPart = message.getSOAPPart(); SOAPEnvelope envelope = SOAPPart.getEnvelope(); SOAPBody body = envelope.getBody(); SOAPElement bodyElement = body.addChildElement(envelope.createName("echo", "req", "http://localhost:8080/axis2/services/MyService/")); bodyElement.addChildElement("category").addTextNode("classifieds"); message.saveChanges(); SOAPPart SOAPpartbefore = message.getSOAPPart(); SOAPEnvelope reqenv = SOAPpartbefore.getEnvelope(); System.out.println(reqenv.toString());