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);
 }
Beispiel #2
0
 protected SOAPElement convertToSoapElement(Element element) {
   if (element instanceof SOAPFaultElement) {
     return (SOAPElement) element;
   } else if (element instanceof SOAPElement) {
     SOAPElement soapElement = (SOAPElement) element;
     if (getDetailName().equals(soapElement.getElementName())) {
       return replaceElementWithSOAPElement(element, createDetail());
     } else {
       String localName = soapElement.getElementName().getLocalName();
       if (isStandardFaultElement(localName))
         return replaceElementWithSOAPElement(
             element, createSOAPFaultElement(soapElement.getElementQName()));
       return soapElement;
     }
   } else {
     Name elementName = NameImpl.copyElementName(element);
     ElementImpl newElement;
     if (getDetailName().equals(elementName)) {
       newElement = (ElementImpl) createDetail();
     } else {
       String localName = elementName.getLocalName();
       if (isStandardFaultElement(localName))
         newElement = (ElementImpl) createSOAPFaultElement(elementName);
       else newElement = (ElementImpl) createElement(elementName);
     }
     return replaceElementWithSOAPElement(element, newElement);
   }
 }
Beispiel #3
0
 @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());
 }
Beispiel #4
0
 @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());
 }
 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;
 }
Beispiel #6
0
  protected SOAPElement circumventBug5034339(SOAPElement element) {

    Name elementName = element.getElementName();
    if (!isNamespaceQualified(elementName)) {
      String prefix = elementName.getPrefix();
      String defaultNamespace = getNamespaceURI(prefix);
      if (defaultNamespace != null) {
        Name newElementName =
            NameImpl.create(elementName.getLocalName(), elementName.getPrefix(), defaultNamespace);
        SOAPElement newElement = createElement(newElementName);
        replaceChild(newElement, element);
        return newElement;
      }
    }
    return element;
  }
Beispiel #7
0
  @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);
     }
   }
 }
Beispiel #9
0
  @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"));
  }
Beispiel #10
0
 public void setFaultCode(Name faultCodeQName) throws SOAPException {
   setFaultCode(
       faultCodeQName.getLocalName(), faultCodeQName.getPrefix(), faultCodeQName.getURI());
 }
Beispiel #11
0
 protected static String getAttributeValueFrom(Element element, Name name) {
   return getAttributeValueFrom(
       element, name.getURI(), name.getLocalName(), name.getPrefix(), name.getQualifiedName());
 }
Beispiel #12
0
 public ElementImpl(SOAPDocumentImpl ownerDoc, Name name) {
   super(ownerDoc, name.getURI(), name.getQualifiedName(), name.getLocalName());
   elementQName = NameImpl.convertToQName(name);
 }
Beispiel #13
0
 public Iterator getChildElements(final Name name) {
   return getChildElements(name.getURI(), name.getLocalName());
 }
Beispiel #14
0
 public boolean removeAttribute(Name name) {
   return removeAttribute(name.getURI(), name.getLocalName());
 }