Author: nandana
Date: Fri Dec 14 05:43:21 2007
New Revision: 604191

URL: http://svn.apache.org/viewvc?rev=604191&view=rev
Log:
Fixed issue https://issues.apache.org/jira/browse/RAMPART-115.

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?rev=604191&r1=604190&r2=604191&view=diff
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
 Fri Dec 14 05:43:21 2007
@@ -21,6 +21,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.rahas.EncryptedKeyToken;
+import org.apache.rahas.SimpleTokenStore;
 import org.apache.rahas.TrustException;
 import org.apache.rampart.RampartException;
 import org.apache.rampart.RampartMessageData;
@@ -568,12 +569,29 @@
                        
sig.setKeyIdentifierType(WSConstants.CUSTOM_SYMM_SIGNING);
                 }
                 
+                String sigTokId; 
+                
+                if ( policyToken instanceof SecureConversationToken) {
+                    OMElement ref = tok.getAttachedReference();
+                    if(ref == null) {
+                        ref = tok.getUnattachedReference();
+                    }
+                    
+                    if (ref != null) {
+                        sigTokId = SimpleTokenStore.getIdFromSTR(ref);
+                    } else {
+                        sigTokId = tok.getId();
+                    }
+                } else {
+                    sigTokId = tok.getId();
+                }
+                               
                 //Hack to handle reference id issues
                 //TODO Need a better fix
-                String sigTokId = tok.getId();
                 if(sigTokId.startsWith("#")) {
                     sigTokId = sigTokId.substring(1);
                 }
+                
                 sig.setCustomTokenId(sigTokId);
                 sig.setSecretKey(tok.getSecret());
                 
sig.setSignatureAlgorithm(rpd.getAlgorithmSuite().getAsymmetricSignature());


Reply via email to