/** * Constructor. * * @param elem A SecurityTokenReference element * @param bspEnforcer a BSPEnforcer instance to enforce BSP rules * @throws WSSecurityException */ public SecurityTokenReference(Element elem, BSPEnforcer bspEnforcer) throws WSSecurityException { element = elem; QName el = new QName(element.getNamespaceURI(), element.getLocalName()); if (!STR_QNAME.equals(el)) { throw new WSSecurityException(WSSecurityException.ErrorCode.FAILURE, "badElement", new Object[] {STR_QNAME, el}); } checkBSPCompliance(bspEnforcer); if (containsReference()) { Node node = element.getFirstChild(); while (node != null) { if (Node.ELEMENT_NODE == node.getNodeType() && WSS4JConstants.WSSE_NS.equals(node.getNamespaceURI()) && "Reference".equals(node.getLocalName())) { reference = new Reference((Element)node); break; } node = node.getNextSibling(); } } }