private static void setSignConfirmValues(com.sun.xml.wss.impl.FilterProcessingContext context, List scList)
throws XWSSecurityException{
if(scList != null){
Iterator it = scList.iterator();
if(context instanceof JAXBFilterProcessingContext){
JAXBFilterProcessingContext optContext = (JAXBFilterProcessingContext)context;
com.sun.xml.ws.security.opt.impl.outgoing.SecurityHeader secHeader =
optContext.getSecurityHeader();
((NamespaceContextEx)optContext.getNamespaceContext()).addWSS11NS();
if(!it.hasNext()){
// Insert a SignatureConfirmation element with no Value attribute
String id = optContext.generateID();
SignatureConfirmation scHeader = new SignatureConfirmation(id, optContext.getSOAPVersion());
secHeader.add(scHeader);
optContext.getSignatureConfirmationIds().add(id);
}
while(it.hasNext()){
byte[] signValue = (byte[])it.next();
String id = optContext.generateID();
SignatureConfirmation scHeader = new SignatureConfirmation(id, optContext.getSOAPVersion());
scHeader.setValue(signValue);
secHeader.add(scHeader);
optContext.getSignatureConfirmationIds().add(id);
}
} else{
SecurableSoapMessage secureMessage = context.getSecurableSoapMessage();
SecurityHeader secHeader = secureMessage.findOrCreateSecurityHeader();