Author: ruchithf
Date: Thu Aug 23 04:40:04 2007
New Revision: 568940
URL: http://svn.apache.org/viewvc?rev=568940&view=rev
Log:
Added and NPE check
Added:
webservices/rampart/trunk/java/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java?rev=568940&r1=568939&r2=568940&view=diff
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
Thu Aug 23 04:40:04 2007
@@ -75,7 +75,7 @@
msgCtx.setEnvelope(env);
Axis2Util.useDOOM(false);
if(doDebug){
- log.debug("Return process(MessageContext
msgCtx)");
+ log.debug("Return process MessageContext
msgCtx)");
}
return null;
}
@@ -88,17 +88,24 @@
ValidatorData data = new ValidatorData(rmd);
ArrayList headerBlocks = rmd.getMsgContext().getEnvelope()
- .getHeader().getHeaderBlocksWithNSURI(WSConstants.WSSE_NS);
- Iterator headerBlocksIterator = headerBlocks.iterator();
+ .getHeader().getHeaderBlocksWithNSURI(WSConstants.WSSE_NS);
SOAPHeaderBlock secHeader = null;
- while (headerBlocksIterator.hasNext()) {
- SOAPHeaderBlock elem = (SOAPHeaderBlock)
headerBlocksIterator.next();
- if(elem.getLocalName().equals(WSConstants.WSSE_LN)) {
- secHeader = elem;
- break;
- }
+ //Issue is axiom - a returned collection must not be null
+ if(headerBlocks != null) {
+ Iterator headerBlocksIterator = headerBlocks.iterator();
+ while (headerBlocksIterator.hasNext()) {
+ SOAPHeaderBlock elem = (SOAPHeaderBlock)
headerBlocksIterator.next();
+ if(elem.getLocalName().equals(WSConstants.WSSE_LN)) {
+ secHeader = elem;
+ break;
+ }
+ }
}
-
+
+ if(secHeader == null) {
+ throw new RampartException("missingSecurityHeader");
+ }
+
long t0=0, t1=0, t2=0, t3=0;
if(dotDebug){
t0 = System.currentTimeMillis();
Modified:
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties?rev=568940&r1=568939&r2=568940&view=diff
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties
(original)
+++
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/errors.properties
Thu Aug 23 04:40:04 2007
@@ -63,6 +63,7 @@
noSecurityResults= No security processing results from the incoming message
missingEncryptedKeyInRequest=There was no EncryptedKey in the request message
rampartConigMissing = Please include configured RampartConfiguration assertion
in policy
+missingSecurityHeader = Missing wsse:Security header in request
#Errors in processors
errorProcessingUT = Error in processing UsernameToken
Added:
webservices/rampart/trunk/java/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
URL:
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java?rev=568940&view=auto
==============================================================================
---
webservices/rampart/trunk/java/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
(added)
+++
webservices/rampart/trunk/java/modules/rampart-tests/src/test/java/org/apache/rampart/RampartEngineTest.java
Thu Aug 23 04:40:04 2007
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rampart;
+
+import org.apache.axis2.context.MessageContext;
+import org.apache.neethi.Policy;
+
+public class RampartEngineTest extends MessageBuilderTestBase {
+
+
+ public RampartEngineTest(String name) {
+ super(name);
+ }
+
+ public void testEmptySOAPMessage() throws Exception {
+
+ try {
+ MessageContext ctx = getMsgCtx();
+
+ String policyXml =
"test-resources/policy/rampart-asymm-binding-6-3des-r15.xml";
+ Policy policy = this.loadPolicy(policyXml);
+
+ ctx.setProperty(RampartMessageData.KEY_RAMPART_POLICY, policy);
+
+ RampartEngine engine = new RampartEngine();
+ engine.process(ctx);
+ } catch (RampartException e) {
+ assertEquals(
+ "Expected rampart to complain about missing security
header",
+ "Missing wsse:Security header in request",
e.getMessage());
+ }
+ }
+
+}