* @throws XWSSecurityException
* @return
*/
protected static SecurityToken resolveToken(final String uri, XMLCryptoContext context) throws URIReferenceException, XWSSecurityException{
URIDereferencer resolver = context.getURIDereferencer();
URIReference uriRef = new URIReference(){
public String getURI(){
return uri;
}
public String getType(){
return null;
}
};
FilterProcessingContext wssContext = (FilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT);
SecurityPolicy securityPolicy = wssContext.getSecurityPolicy();
boolean isBSP = false;
if( securityPolicy != null) {
if (PolicyTypeUtil.messagePolicy(securityPolicy)) {
isBSP = ((MessagePolicy)securityPolicy).isBSP();
} else {
isBSP = ((WSSPolicy)securityPolicy).isBSP();
}
}
try{
NodeSetData set =(NodeSetData) resolver.dereference(uriRef,context);
Iterator itr = set.iterator();
while(itr.hasNext()){
Node node = (Node)itr.next();
if(MessageConstants.WSSE_BINARY_SECURITY_TOKEN_LNAME.equals(node.getLocalName())){
X509SecurityToken token = new X509SecurityToken((SOAPElement)node, isBSP);