Refine search
/** * get an iterator over child elements * @param childName namespace/element name of parts to find. * This iterator is not (currently) susceptible to change in the element * list during its lifetime, though changes in the contents of the elements * are picked up. * @return an iterator. * @see javax.xml.soap.SOAPElement#getChildElements(javax.xml.soap.Name) */ public Iterator getChildElements(Name childName) { return getChildElements(new QName(childName.getURI(), childName.getLocalName())); }
public static QName toQName(final Name name) { return new QName(name.getURI(), name.getLocalName(), name.getPrefix()); }
/** * Adds an attribute with the specified name and value to this SOAPElement object. * * @param name a Name object with the name of the attribute * @param value a String giving the value of the attribute * @return the SOAPElement object into which the attribute was inserted * @throws javax.xml.soap.SOAPException if there is an error in creating the Attribute */ public SOAPElement addAttribute(Name name, String value) throws SOAPException { // xml:lang='en' if ("xml".equals(name.getPrefix())) { setAttribute(name.getQualifiedName(), value); } else { setAttributeNS(name.getURI(), name.getQualifiedName(), value); } return this; }
/** * construct using a {@link javax.xml.soap.Name} implementation, * @see #MessageElement(String, String, String) * @param eltName */ public MessageElement(Name eltName) { this(eltName.getLocalName(),eltName.getPrefix(), eltName.getURI()); }
/** * Get the value of an attribute whose namespace and local name are described. * @param attrName qualified name of the attribute * @return the attribute or null if there was no match * @see SOAPElement#getAttributeValue(javax.xml.soap.Name) */ public String getAttributeValue(Name attrName) { return attributes.getValue(attrName.getURI(), attrName.getLocalName()); }
/** * get an iterator over child elements * @param qname namespace/element name of parts to find. * This iterator is not (currently) susceptible to change in the element * list during its lifetime, though changes in the contents of the elements * are picked up. * @return an iterator. */ public Iterator getChildElements(QName qname) { initializeChildren(); int num = children.size(); Vector c = new Vector(num); for (int i = 0; i < num; i++) { MessageElement child = (MessageElement)children.get(i); Name cname = child.getElementName(); if (cname.getURI().equals(qname.getNamespaceURI()) && cname.getLocalName().equals(qname.getLocalPart())) { c.add(child); } } return c.iterator(); }
QName soapArrayQName = new QName(Constants.URI_SOAP11_ENC, "Array", Constants.PREFIX_SOAP11_ENC); Name SOAP_ARRAY_NAME = SOAPUtils.newName(soapArrayQName, soapEnvelope); Name xmlName = SOAPUtils.newName(paramMetaData.getXmlName(), soapEnvelope); Iterator childElements = soapElement.getChildElements(); while (childElements.hasNext()) childElement = (SOAPContentElement)soapElement.replaceChild(new SOAPContentElement(childElement), childElement); Name elName = aux.getElementName(); if (xmlName.getLocalName().equals("") || xmlName.equals(elName)) if (compElement == null || compElement.getNodeName().equals(compXMLName.getLocalPart())) childElements = soapElement.getChildElements(); OperationMetaData opMetaData = paramMetaData.getOperationMetaData(); TypesMetaData typesMetaData = opMetaData.getEndpointMetaData().getServiceMetaData().getTypesMetaData(); QName elType = null; XSElementDeclaration xsdElement = typesMetaData.getSchemaModel().getElementDeclaration(elName.getLocalName(), elName.getURI()); if (xsdElement != null && xsdElement.getTypeDefinition() != null) elType = new QName(xsdType.getNamespace(), xsdType.getName());
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"); 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;
@Override public SOAPFault addFault(SOAPBody body, QName faultCode, String faultString, Locale locale) throws SOAPException { SOAPFault fault = body.addFault(); if (StringUtils.hasLength(faultCode.getNamespaceURI()) && StringUtils.hasLength(QNameUtils.getPrefix(faultCode))) { fault.addNamespaceDeclaration(faultCode.getPrefix(), faultCode.getNamespaceURI()); fault.setFaultCode(faultCode.getPrefix() + ":" + faultCode.getLocalPart()); } else if (faultCode.getNamespaceURI().equals(body.getElementName().getURI())) { fault.setFaultCode(body.getElementName().getPrefix() + ":" + faultCode.getLocalPart()); } else { fault.setFaultCode(faultCode.getLocalPart()); } fault.setFaultString(faultString); return fault; }
String isSynchronousStr = SerializationUtils.deserialize(el.getChildElement(ModelService.UpdateOperation.isSynchronousQName)); if (isSynchronousStr == null) { throw new BocaAxisFault(ExceptionConstants.SERVER.CODES.INVALID_ARGS, ExceptionConstants.SERVER.SUBCODES.MISSING_ARG, ModelService.UpdateOperation.isSynchronousQName.getLocalPart(), "update"); String isReturnResults = SerializationUtils.deserialize(el.getChildElement(ModelService.UpdateOperation.includeResultsQName)); if (isReturnResults == null) { throw new BocaAxisFault(ExceptionConstants.SERVER.CODES.INVALID_ARGS, ExceptionConstants.SERVER.SUBCODES.MISSING_ARG, ModelService.UpdateOperation.includeResultsQName.getLocalPart(), "update"); SerializationUtils.setEncoding(childElement2); if (SerializationUtils.BASE64_ENABLED) { childElement2.addTextNode(Base64.encode(bos.toByteArray())); } else { childElement2.addTextNode(new String(bos.toByteArray(), Constants.byteEncoding)); throw new BocaAxisFault(ExceptionConstants.SERVER.CODES.INVALID_ARGS, ExceptionConstants.SERVER.SUBCODES.MISSING_ARG, ModelService.UpdateOperation.Transactions.streamName.getURI(), "update");
final QName processQName = new QName(this.helloProcessNamespace, this.helloProcessName); "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence", part); request.getSOAPHeader().addNamespaceDeclaration("wsa", XmlConstants.ADDRESSING_2004_REF_NAMESPACE); request.getSOAPHeader().addChildElement("To", "wsa").addTextNode(endpoint); request.getSOAPHeader().addChildElement("ReplyTo", "wsa").addChildElement("Address", "wsa").addTextNode(WSRMTest.WS_ADD_2004_ANONYMOUS); request.getSOAPHeader().addChildElement("From", "wsa").addChildElement("Address", "wsa").addTextNode(WSRMTest.WS_ADD_2004_ANONYMOUS); SOAPElement wsaAction = request.getSOAPHeader().addChildElement("Action", "wsa"); final SOAPBodyElement result = this.getSOAPBodyElement(response); Assert.assertNotNull(result); Assert.assertEquals(XmlUtil.toString(result), "CreateSequenceResponse", result.getElementName().getLocalName()); Assert.assertEquals(XmlUtil.toString(result), WSRMTest.WS_RM_NS_URI, result.getElementName().getURI()); sequenceIdentifier = XmlUtil.element(result, WSRMTest.WS_RM_NS_URI, "Identifier").getTextContent(); } else {
@Override public SOAPElement addChildElement(SOAPElement element) throws SOAPException { String localName = element.getLocalName(); if ("Detail".equalsIgnoreCase(localName)) { if (hasDetail()) { log.severe("SAAJ0436.ver1_2.detail.exists.error"); throw new SOAPExceptionImpl("Cannot add Detail, Detail already exists"); } String uri = element.getElementQName().getNamespaceURI(); if (!uri.equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)) { log.severe("SAAJ0437.ver1_2.version.mismatch.error"); throw new SOAPExceptionImpl("Cannot add Detail, Incorrect SOAP version specified for Detail element"); } } if (element instanceof Detail1_2Impl) { Element importedElement = importElement(element); addNode(importedElement); return convertToSoapElement(importedElement); } else return super.addChildElement(element); }
@Override public SOAPHeaderElement addHeaderElement(QName name) throws SOAPException { SOAPElement newHeaderElement = ElementFactory.createNamedElement( ((SOAPDocument) getOwnerDocument()).getDocument(), name.getLocalPart(), name.getPrefix(), name.getNamespaceURI()); if (newHeaderElement == null || !(newHeaderElement instanceof SOAPHeaderElement)) { newHeaderElement = createHeaderElement(name); } // header elements must be namespace qualified // check that URI is not empty, ensuring that the element is NS qualified. String uri = newHeaderElement.getElementQName().getNamespaceURI(); if ((uri == null) || ("").equals(uri)) { log.severe("SAAJ0131.impl.header.elems.ns.qualified"); throw new SOAPExceptionImpl("HeaderElements must be namespace qualified"); } addNode(newHeaderElement); return (SOAPHeaderElement) newHeaderElement; }
private void handleElement(SOAPElement element) throws SAXException { Name elementName = element.getElementName(); if (getContentHandler() != null) { if (namespacesFeature) { for (Iterator<?> iterator = element.getNamespacePrefixes(); iterator.hasNext();) { String prefix = (String) iterator.next(); String namespaceUri = element.getNamespaceURI(prefix); getContentHandler().startPrefixMapping(prefix, namespaceUri); .startElement(elementName.getURI(), elementName.getLocalName(), elementName.getQualifiedName(), getAttributes(element)); getContentHandler().startElement("", "", elementName.getQualifiedName(), getAttributes(element)); if (namespacesFeature) { getContentHandler() .endElement(elementName.getURI(), elementName.getLocalName(), elementName.getQualifiedName()); for (Iterator<?> iterator = element.getNamespacePrefixes(); iterator.hasNext();) { String prefix = (String) iterator.next(); getContentHandler().endElement("", "", elementName.getQualifiedName());
private Attributes getAttributes(SOAPElement element) { AttributesImpl attributes = new AttributesImpl(); for (Iterator<?> iterator = element.getAllAttributes(); iterator.hasNext();) { Name attributeName = (Name) iterator.next(); String namespace = attributeName.getURI(); if (namespace == null || !namespacesFeature) { namespace = ""; } String attributeValue = element.getAttributeValue(attributeName); attributes.addAttribute(namespace, attributeName.getLocalName(), attributeName.getQualifiedName(), "CDATA", attributeValue); } if (namespacePrefixesFeature) { for (Iterator<?> iterator = element.getNamespacePrefixes(); iterator.hasNext();) { String prefix = (String) iterator.next(); String namespaceUri = element.getNamespaceURI(prefix); String qName; if (StringUtils.hasLength(prefix)) { qName = "xmlns:" + prefix; } else { qName = "xmlns"; } attributes.addAttribute("", "", qName, "CDATA", namespaceUri); } } return attributes; }
@Override public void endElement(String uri, String localName, String qName) throws SAXException { Assert.isTrue(localName.equals(element.getElementName().getLocalName()), "Invalid element on stack"); Assert.isTrue(uri.equals(element.getElementName().getURI()), "Invalid element on stack"); element = element.getParentElement(); }
/** * Get the element. * @param strElementName The element to return (if null, return the first element). */ public SOAPElement getElement(SOAPElement element, String strElementName) { Iterator<?> iterator = element.getChildElements(); while (iterator.hasNext()) { javax.xml.soap.Node elMessageType = (javax.xml.soap.Node)iterator.next(); if (elMessageType instanceof SOAPElement) { if (strElementName == null) return (SOAPElement)elMessageType; // The message type if (strElementName.equalsIgnoreCase(((SOAPElement)elMessageType).getElementName().getLocalName())) return (SOAPElement)elMessageType; // The message type } } return null; // not found } /**
if (result != null && result.size() == 1) { SOAPElement e = (SOAPElement) result.get(0); String more = e.getAttribute("MoreRecords"); String newCookie = e.getAttribute("PagingCookie"); if (more != null && more.length() > 0 && newCookie != null && newCookie.length() > 0) { xp = soap.createXPath("//crm:BusinessEntity", response); e = (SOAPElement) o; Map<String, String> instance = new HashMap<String, String>(); Iterator elements = e.getChildElements(); while (elements.hasNext()) { SOAPElement name = (SOAPElement) elements.next(); String value = name.getFirstChild().getNodeValue(); instance.put(name.getElementName().getLocalName(), value);
private static Element encryptElement(SecurableSoapMessage secureMsg, SOAPElement encryptElm, boolean contentOnly, XMLCipher xmlCipher) throws XWSSecurityException { String localName = encryptElm.getLocalName(); && (MessageConstants.SOAP_1_1_NS.equalsIgnoreCase(encryptElm.getNamespaceURI()) || MessageConstants.SOAP_1_2_NS.equalsIgnoreCase(encryptElm.getNamespaceURI())) && ("Header".equalsIgnoreCase(localName) || "Envelope".equalsIgnoreCase(localName) || log.log(Level.SEVERE, "WSS1206.illegal.target", encryptElm.getElementName().getQualifiedName()); throw new XWSSecurityException( "Encryption of SOAP " + localName + " is not allowed"); // BSP 5607
if (!elementURI.equals(this.getElementName().getURI())) { log.severe("SAAJ0158.impl.version.mismatch.fault"); throw new SOAPExceptionImpl("SOAP Version mismatch encountered when trying to add SOAPFault to SOAPBody"); addAttributeBare( name.getNamespaceURI(), name.getPrefix(), getQualifiedName(name), value);