List of usage examples for org.w3c.dom Element setIdAttributeNS
public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException;
isId
is true
, this method declares the specified attribute to be a user-determined ID attribute . 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)); }