Author: ruchithf Date: Tue Dec 20 05:12:59 2011 New Revision: 1221102 URL: http://svn.apache.org/viewvc?rev=1221102&view=rev Log: Getting rid of a possible NPE : Caused when someone forgets to setup RampartConfig
Modified: axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties Modified: axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?rev=1221102&r1=1221101&r2=1221102&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java Tue Dec 20 05:12:59 2011 @@ -27,6 +27,7 @@ import org.apache.rampart.RampartExcepti import org.apache.rampart.RampartMessageData; import org.apache.rampart.policy.RampartPolicyData; import org.apache.rampart.policy.SupportingPolicyData; +import org.apache.rampart.policy.model.RampartConfig; import org.apache.rampart.util.RampartUtil; import org.apache.ws.secpolicy.Constants; import org.apache.ws.secpolicy.SPConstants; @@ -274,14 +275,19 @@ public abstract class BindingBuilder { } // Get the user - First check whether userCertAlias present - if (user == null) { - user = rpd.getRampartConfig().getUserCertAlias(); + RampartConfig rampartConfig = rpd.getRampartConfig(); + if(rampartConfig == null) { + throw new RampartException("rampartConfigMissing"); + } + + if (user == null) { + user = rampartConfig.getUserCertAlias(); } // If userCertAlias is not present, use user property as Alias if (user == null) { - user = rpd.getRampartConfig().getUser(); + user = rampartConfig.getUser(); } String password = null; @@ -334,8 +340,7 @@ public abstract class BindingBuilder { sig.setDigestAlgo(algorithmSuite.getDigest()); try { - sig.prepare(rmd.getDocument(), RampartUtil.getSignatureCrypto(rpd - .getRampartConfig(), rmd.getCustomClassLoader()), + sig.prepare(rmd.getDocument(), RampartUtil.getSignatureCrypto(rampartConfig, rmd.getCustomClassLoader()), rmd.getSecHeader()); } catch (WSSecurityException e) { throw new RampartException("errorInSignatureWithX509Token", e); Modified: axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties?rev=1221102&r1=1221101&r2=1221102&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties Tue Dec 20 05:12:59 2011 @@ -28,6 +28,7 @@ cannotCreatePolicyValidatorCallbackInsta cannotLoadRampartConfigCallbackClass = Cannot load rampart config callback class : \"{0}\" cannotCreateRampartConfigCallbackInstance = Cannot create rampart config callback class instance : \"{0}\" missingEncryptionUser=Encryption user not specified (The context is created by the initiating party) +rampartConfigMissing = Rampart policy configuration missing missingSignatureCrypto=Signature crypto information not available missingEncryptionCrypto=Encryption crypto information not available