public SOAPElement addAttribute(Name name, String value) throws SOAPException { addAttributeBare(name, value); if (!"".equals(name.getURI())) { ensureNamespaceIsDeclared(name.getPrefix(), name.getURI()); } return this; }
public SOAPElement addAttribute(Name name, String value) throws SOAPException { if (name.getLocalName().equals("encodingStyle") && name.getURI().equals(NameImpl.SOAP12_NAMESPACE)) { setEncodingStyle(value); } return super.addAttribute(name, value); }
protected SOAPElement createElement(Name name) { if (isNamespaceQualified(name)) { return (SOAPElement) getOwnerDocument().createElementNS(name.getURI(), name.getQualifiedName()); } else { return (SOAPElement) getOwnerDocument().createElement(name.getQualifiedName()); } }
@Test public final void testGetFaultCodeAsNameUnqualified() throws Exception { SOAPFault fault = createEmptySOAPFault(); appendFaultCodeElement(fault).setTextContent("Test"); Name name = fault.getFaultCodeAsName(); assertEquals("", name.getPrefix()); assertEquals("", name.getURI()); assertEquals("Test", name.getLocalName()); }
@Test public final void testGetFaultCodeAsNameQualified() throws Exception { SOAPFault fault = createEmptySOAPFault(); String code = fault.getPrefix() + ":Server"; appendFaultCodeElement(fault).setTextContent(code); Name name = fault.getFaultCodeAsName(); assertEquals(fault.getPrefix(), name.getPrefix()); assertEquals(fault.getNamespaceURI(), name.getURI()); assertEquals("Server", name.getLocalName()); }
/** * Clear the soap MustUnderstand. * * @param soapHeader The SOAP header. * @param soapHeaderElement The SOAP header element. */ private void clearMustUnderstand( final SOAPHeader soapHeader, final SOAPHeaderElement soapHeaderElement) throws SOAPException { final Name headerName = soapHeader.getElementName(); final SOAPFactory factory = SOAPFactory.newInstance(); final Name attributeName = factory.createName("mustUnderstand", headerName.getPrefix(), headerName.getURI()); soapHeaderElement.removeAttribute(attributeName); }
private SOAPHeaderElement getHeaderElement( final SOAPHeader soapHeader, final String uri, final String name) throws SOAPException { if (soapHeader != null) { final Iterator headerIter = SOAPUtil.getChildElements(soapHeader); while (headerIter.hasNext()) { final SOAPHeaderElement current = (SOAPHeaderElement) headerIter.next(); final Name currentName = current.getElementName(); if ((currentName != null) && match(name, currentName.getLocalName()) && match(uri, currentName.getURI())) { return current; } } } return null; }
protected String getSOAPNamespace() { String soapNamespace = null; SOAPElement antecedent = this; while (antecedent != null) { Name antecedentName = antecedent.getElementName(); String antecedentNamespace = antecedentName.getURI(); if (NameImpl.SOAP11_NAMESPACE.equals(antecedentNamespace) || NameImpl.SOAP12_NAMESPACE.equals(antecedentNamespace)) { soapNamespace = antecedentNamespace; break; } antecedent = antecedent.getParentElement(); } return soapNamespace; }
@Validated @Test public void testAddNotUnderstoodHeaderElement() throws Exception { javax.xml.soap.SOAPMessage soapMessage = javax.xml.soap.MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL).createMessage(); javax.xml.soap.SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope(); javax.xml.soap.SOAPHeader header = soapEnv.getHeader(); SOAPElement soapElement = header.addNotUnderstoodHeaderElement(new QName("http://foo.org", "foo", "f")); assertNotNull(soapElement); Name name = soapElement.getElementName(); String uri = name.getURI(); String localName = name.getLocalName(); assertEquals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE, uri); // Validate the LocalName which must be NotUnderstood assertEquals("NotUnderstood", localName); }
public static void copyAttributes(Element target, SOAPElement source) { // easy way out: no attributes to copy if (!source.hasAttributes()) return; final boolean traceEnabled = log.isTraceEnabled(); // traverse attributes Iterator attrNameIt = source.getAllAttributes(); while (attrNameIt.hasNext()) { Name attrName = (Name) attrNameIt.next(); String namespaceURI = attrName.getURI(); String value = source.getAttributeValue(attrName); if (StringUtils.isEmpty(namespaceURI)) { String localName = attrName.getLocalName(); target.setAttribute(localName, value); if (traceEnabled) log.trace("set attribute: " + localName); } else { String qualifiedName = attrName.getQualifiedName(); target.setAttributeNS(namespaceURI, qualifiedName, value); if (traceEnabled) log.trace("set attribute: " + qualifiedName); } } }
@Validated @Test public void testAddUpgradeHeaderElement() throws Exception { javax.xml.soap.SOAPMessage soapMessage = javax.xml.soap.MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL).createMessage(); javax.xml.soap.SOAPEnvelope soapEnv = soapMessage.getSOAPPart().getEnvelope(); javax.xml.soap.SOAPHeader header = soapEnv.getHeader(); // create a list of supported URIs. ArrayList supported = new ArrayList(); supported.add(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE); supported.add(SOAPConstants.URI_NS_SOAP_ENVELOPE); SOAPElement soapElement = header.addUpgradeHeaderElement(supported.iterator()); assertNotNull(soapElement); Name name = soapElement.getElementName(); String uri = name.getURI(); String localName = name.getLocalName(); // Validate the URI which must be SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE); assertTrue(uri.equals(SOAPConstants.URI_NS_SOAP_1_2_ENVELOPE)); assertTrue(localName.equals("Upgrade")); }
protected boolean isNamespaceQualified(Name name) { return !"".equals(name.getURI()); }
private void addAttributeBare(Name name, String value) { addAttributeBare(name.getURI(), name.getPrefix(), name.getQualifiedName(), value); }
public void setFaultCode(Name faultCodeQName) throws SOAPException { setFaultCode( faultCodeQName.getLocalName(), faultCodeQName.getPrefix(), faultCodeQName.getURI()); }
protected static String getAttributeValueFrom(Element element, Name name) { return getAttributeValueFrom( element, name.getURI(), name.getLocalName(), name.getPrefix(), name.getQualifiedName()); }
public boolean removeAttribute(Name name) { return removeAttribute(name.getURI(), name.getLocalName()); }
public Iterator getChildElements(final Name name) { return getChildElements(name.getURI(), name.getLocalName()); }
public static String getNamespaceURI(Name name) { String uri = name.getURI(); return uri == null || uri.length() == 0 ? null : uri; }
public ElementImpl(SOAPDocumentImpl ownerDoc, Name name) { super(ownerDoc, name.getURI(), name.getQualifiedName(), name.getLocalName()); elementQName = NameImpl.convertToQName(name); }