@Override public SOAPElement createElement(String localName, String prefix, String uri) throws SOAPException { return new SOAPElementImpl(localName, prefix, uri); }
/** * Sets the encoding style for this SOAPElement object to one specified. * * @see http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383495 * @see http://www.w3.org/TR/soap12-part1/#soapencattr * * @param encodingStyle a String giving the encoding style * @throws IllegalArgumentException if there was a problem in the encoding style being set. * @throws javax.xml.soap.SOAPException if setting the encodingStyle is invalid for this SOAPElement. */ public void setEncodingStyle(String encodingStyle) throws SOAPException { String namespaceURI = getNamespaceURI(Constants.PREFIX_ENV); NameImpl name = new NameImpl("encodingStyle", Constants.PREFIX_ENV, namespaceURI); addAttribute(name, encodingStyle); }
/** * Creates a new SOAPElement object initialized with the specified local name and adds the new element to this SOAPElement object. * * @param name a String giving the local name for the element * @return the new SOAPElement object that was created * @throws javax.xml.soap.SOAPException if there is an error in creating the SOAPElement object */ public SOAPElement addChildElement(String name) throws SOAPException { Name nameImp = new NameImpl(name); return addChildElement(nameImp); }
private SOAPElement completeNamespaceDeclaration() { String prefix = getPrefix(); String nsURI = getNamespaceURI(); if (prefix != null && nsURI != null) { String prevNS = getNamespaceURI(prefix); if (nsURI.equals(prevNS) == false) addNamespaceDeclaration(prefix, nsURI); } return this; }
/** * The default implementation uses a DOMWriter. * SOAPContentElements overwrite this to optimize DOM callbacks. */ public void writeElement(Writer writer) throws IOException { String qualName = getElementName().getQualifiedName(); writer.write("<" + qualName); // namespaces Iterator<String> nsPrefixes = getNamespacePrefixes(); while (nsPrefixes.hasNext()) { String prefix = (String)nsPrefixes.next(); writer.write(" xmlns:" + prefix + "='" + getNamespaceURI(prefix) + "'"); } // attributes Iterator<Name> attNames = getAllAttributes(); while (attNames.hasNext()) { NameImpl name = (NameImpl)attNames.next(); String attPrefix = name.getPrefix() != null ? name.getPrefix() : ""; String attFqn = attPrefix.length() > 0 ? attPrefix + ":" + name.getLocalName() : name.getLocalName(); writer.write(" " + attFqn + "='" + getAttributeValue(name) + "'"); } writer.write(">"); writeElementContent(writer); writer.write("</" + qualName + ">"); }
private SOAPFaultElement convertToFaultElement(SOAPElementImpl element) { element.detachNode(); QName elementName = element.getElementQName(); SOAPFaultElement faultElement; if (Constants.NS_SOAP11_ENV.equals(getNamespaceURI()) ? Constants.SOAP11_DETAIL.equals(elementName) : Constants.SOAP12_DETAIL.equals(elementName)) faultElement = new DetailImpl(element); else faultElement = new SOAPFaultElementImpl(element); log.trace("convertToFaultElement : " + faultElement); return faultElement; }
/** * Creates a new SOAPElement object initialized with the specified local name and prefix and adds the new element to this SOAPElement object. * * @param localName a String giving the local name for the new element * @param prefix a String giving the namespace prefix for the new element * @return the new SOAPElement object that was created * @throws javax.xml.soap.SOAPException if there is an error in creating the SOAPElement object */ public SOAPElement addChildElement(String localName, String prefix) throws SOAPException { String nsURI = getNamespaceURI(prefix); if (nsURI == null) throw new IllegalArgumentException(BundleUtils.getMessage(bundle, "CANNOT_OBTAIN_NAMESPACE_URI", prefix)); Name nameImp = new NameImpl(localName, prefix, nsURI); return addChildElement(nameImp); }
private static DetailEntry convertToDetailEntry(SOAPElementImpl element) { element.detachNode(); DetailEntryImpl detailEntry = new DetailEntryImpl(element); log.trace("convertToDetailEntry : " + detailEntry); return detailEntry; } }
/** * Creates a new SOAPElement object initialized with the given Name object and adds the new element to this SOAPElement object. * * @param name a Name object with the XML name for the new element * @return the new SOAPElement object that was created * @throws javax.xml.soap.SOAPException if there is an error in creating the SOAPElement object */ public SOAPElement addChildElement(Name name) throws SOAPException { Document doc = this.element.getOwnerDocument(); Element childEle = null; if (name.getPrefix() == null || name.getPrefix().length() == 0) { childEle = doc.createElementNS(name.getURI(), name.getLocalName()); } else { childEle = doc.createElementNS(name.getURI(), name.getPrefix() + ":" + name.getLocalName()); } SOAPElement child = new SOAPElementImpl(childEle); return addChildElement(child); }
soapElement = (SOAPElementImpl) appendChild(soapElement); return soapElement.completeNamespaceDeclaration();
public SOAPElement addAttribute(Name name, String value) throws SOAPException { if (log.isTraceEnabled()) log.trace("addAttribute: [name=" + name + ",value=" + value + "]"); expandToDOM(); return super.addAttribute(name, value); }
public Node appendChild(Node newChild) throws DOMException { if (log.isTraceEnabled()) log.trace("appendChild: " + newChild); expandToDOM(); return super.appendChild(newChild); }
public SOAPElement addTextNode(String value) throws SOAPException { if (log.isTraceEnabled()) log.trace("addTextNode: [value=" + value + "]"); expandToDOM(); return super.addTextNode(value); }
public Iterator<Name> getAllAttributes() { return super.getAllAttributes(); }
public Node cloneNode(boolean deep) { if (log.isTraceEnabled()) log.trace("cloneNode: deep=" + deep); expandToDOM(); return super.cloneNode(deep); }
public SOAPElement addNamespaceDeclaration(String prefix, String nsURI) { if (log.isTraceEnabled()) log.trace("addNamespaceDeclaration: [prefix=" + prefix + ",nsURI=" + nsURI + "]"); expandToDOM(); return super.addNamespaceDeclaration(prefix, nsURI); }
public SOAPElement setElementQNameInternal(QName qname) throws SOAPException { elementName = new NameImpl(qname); Document owner = domNode.getOwnerDocument(); domNode = owner.renameNode(domNode, elementName.getURI(), elementName.getQualifiedName()); element = (Element)domNode; return this.completeNamespaceDeclaration(); }
private static SOAPHeaderElementImpl convertToHeaderElement(Node node) { if (!(node instanceof SOAPElementImpl)) throw new IllegalArgumentException(BundleUtils.getMessage(bundle, "SOAPELEMENT_EXPECTED")); SOAPElementImpl element = (SOAPElementImpl)node; // convert to SOAPHeaderElement element.detachNode(); return new SOAPHeaderElementImpl(element); } }
public SOAPElement addAttribute(QName qname, String value) throws SOAPException { return addAttribute(new NameImpl(qname), value); }
/** * Creates a new Text object initialized with the given String and adds it to this SOAPElement object. * * @param value a String object with the textual content to be added * @return the SOAPElement object into which the new Text object was inserted * @throws javax.xml.soap.SOAPException if there is an error in creating the new Text object * or if it is not legal to attach it as a child to this SOAPElement */ public SOAPElement addTextNode(String value) throws SOAPException { org.w3c.dom.Node domNode; if (value.startsWith("<!--") && value.endsWith("-->")) { value = value.substring(4, value.length() - 3); domNode = element.getOwnerDocument().createComment(value); } else { domNode = element.getOwnerDocument().createTextNode(value); } javax.xml.soap.Text soapText = new TextImpl(domNode); appendChild(soapText); return this; }