You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ru...@apache.org on 2007/08/23 13:40:05 UTC
svn commit: r568940 - in /webservices/rampart/trunk/java/modules:
rampart-core/src/main/java/org/apache/rampart/
rampart-tests/src/test/java/org/apache/rampart/
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());
+ }
+ }
+
+}