Example usage for org.w3c.dom Element setIdAttributeNS

List of usage examples for org.w3c.dom Element setIdAttributeNS

Introduction

In this page you can find the example usage for org.w3c.dom Element setIdAttributeNS.

Prototype

public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException;

Source Link

Document

If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute .

Usage

From source file:no.digipost.api.interceptors.EbmsClientInterceptor.java

@Override
public boolean handleRequest(final MessageContext messageContext) throws WebServiceClientException {
    SoapMessage requestMessage = (SoapMessage) messageContext.getRequest();
    Element bodyElement = (Element) ((DOMSource) requestMessage.getSoapBody().getSource()).getNode();
    bodyElement.setAttributeNS(Constants.WSSEC_UTILS_NAMESPACE, "wsu:Id", "soapBody");
    bodyElement.setIdAttributeNS(Constants.WSSEC_UTILS_NAMESPACE, "Id", true);

    SoapHeader soapHeader = requestMessage.getSoapHeader();
    EbmsContext context = EbmsContext.from(messageContext);
    SoapHeaderElement ebmsHeader = soapHeader.addHeaderElement(MESSAGING_QNAME);
    ebmsHeader.setMustUnderstand(true);//from w w  w  .j  a  v  a  2s .c  o  m
    context.processRequest(context, ebmsHeader, requestMessage);
    return true;
}

From source file:test.unit.be.fedict.eid.applet.service.signer.AbstractXmlSignatureServiceTest.java

@Test
public void testCheckDigestedNode2() throws Exception {
    // setup//from ww w .  ja  va2s.co  m
    Init.init();
    KeyPair keyPair = PkiTestUtils.generateKeyPair();

    DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
    documentBuilderFactory.setNamespaceAware(true);
    DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
    Document document = documentBuilder.newDocument();
    Element rootElement = document.createElementNS("urn:test", "tns:root");
    rootElement.setAttributeNS(Constants.NamespaceSpecNS, "xmlns:tns", "urn:test");
    document.appendChild(rootElement);
    Element dataElement = document.createElementNS("urn:test", "tns:data");
    dataElement.setAttributeNS(null, "Id", "id-1234");
    dataElement.setIdAttributeNS(null, "Id", true);
    dataElement.setTextContent("data to be signed");
    rootElement.appendChild(dataElement);

    Element data2Element = document.createElementNS("urn:test", "tns:data2");
    rootElement.appendChild(data2Element);
    data2Element.setTextContent("hello world");
    data2Element.setAttributeNS(null, "name", "value");
    Element data3Element = document.createElementNS("urn:test", "tns:data3");
    data2Element.appendChild(data3Element);
    data3Element.setTextContent("data 3");
    data3Element.appendChild(document.createComment("some comments"));

    Element emptyElement = document.createElementNS("urn:test", "tns:empty");
    rootElement.appendChild(emptyElement);

    org.apache.xml.security.signature.XMLSignature xmlSignature = new org.apache.xml.security.signature.XMLSignature(
            document, "", org.apache.xml.security.signature.XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1);
    rootElement.appendChild(xmlSignature.getElement());

    Transforms transforms = new Transforms(document);
    transforms.addTransform(Transforms.TRANSFORM_C14N_WITH_COMMENTS);
    xmlSignature.addDocument("#id-1234", transforms, Constants.ALGO_ID_DIGEST_SHA1);

    xmlSignature.addKeyInfo(keyPair.getPublic());
    xmlSignature.sign(keyPair.getPrivate());

    NodeList signatureNodeList = document.getDocumentElement()
            .getElementsByTagNameNS("http://www.w3.org/2000/09/xmldsig#", "Signature");
    Element signatureElement = (Element) signatureNodeList.item(0);

    // operate & verify
    assertTrue(isDigested(dataElement, signatureElement));
    assertFalse(isDigested(data2Element, signatureElement));
}