svn commit: r943049 - /axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java

2010-05-11 Thread prabath
Author: prabath
Date: Tue May 11 08:53:52 2010
New Revision: 943049

URL: http://svn.apache.org/viewvc?rev=943049&view=rev
Log:
Fixing https://issues.apache.org/jira/browse/RAMPART-279 - Thanks Thilina for 
the patch

Modified:

axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java?rev=943049&r1=943048&r2=943049&view=diff
==
--- 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasData.java
 Tue May 11 08:53:52 2010
@@ -359,6 +359,11 @@ public class RahasData {
 if (str.containsReference()) {
 tokenId = str.getReference().getURI();
 }
+if(tokenId == null){
+if(str.containsKeyIdentifier()){
+tokenId = str.getKeyIdentifierValue();
+}
+}
 } catch (WSSecurityException e) {
 throw new TrustException("errorExtractingTokenId",e);
 }  




svn commit: r943055 - in /axis/axis2/java/rampart/trunk/modules: rampart-core/src/main/java/org/apache/rampart/ rampart-trust/src/main/java/org/apache/rahas/impl/ rampart-trust/src/main/java/org/apach

2010-05-11 Thread prabath
Author: prabath
Date: Tue May 11 09:13:23 2010
New Revision: 943055

URL: http://svn.apache.org/viewvc?rev=943055&view=rev
Log:
Fixing https://issues.apache.org/jira/browse/RAMPART-285 - Thanks Thilina for 
the patch

Modified:

axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java

axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java

axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/util/SAML2Utils.java

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java?rev=943055&r1=943054&r2=943055&view=diff
==
--- 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
 Tue May 11 09:13:23 2010
@@ -40,6 +40,7 @@ import org.opensaml.SAMLAssertion;
 import org.opensaml.saml2.core.Assertion;
 import org.opensaml.saml2.core.Subject;
 import org.opensaml.saml2.core.SubjectConfirmationData;
+import org.opensaml.saml2.core.Conditions;
 
 import javax.xml.namespace.QName;
 import java.security.Principal;
@@ -182,10 +183,29 @@ public class RampartEngine {
 final Assertion assertion = (Assertion) 
wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
 String id = assertion.getID();
 Subject subject = assertion.getSubject();
-SubjectConfirmationData scData = 
subject.getSubjectConfirmations()
-.get(0).getSubjectConfirmationData();
-Date dateOfCreation = scData.getNotBefore().toDate();
-Date dateOfExpiration = scData.getNotOnOrAfter().toDate();
+
+Date dateOfCreation = null;
+Date dateOfExpiration = null;
+
+//Read the validity period from the 'Conditions' element, 
else read it from SC Data
+if (assertion.getConditions() != null) {
+Conditions conditions = assertion.getConditions();
+if (conditions.getNotBefore() != null) {
+dateOfCreation = 
conditions.getNotBefore().toDate();
+}
+if (conditions.getNotOnOrAfter() != null) {
+dateOfExpiration = 
conditions.getNotOnOrAfter().toDate();
+}
+} else {
+SubjectConfirmationData scData = 
subject.getSubjectConfirmations()
+.get(0).getSubjectConfirmationData();
+if (scData.getNotBefore() != null) {
+dateOfCreation = scData.getNotBefore().toDate();
+}
+if (scData.getNotOnOrAfter() != null) {
+dateOfExpiration = 
scData.getNotOnOrAfter().toDate();
+}
+}
 
 // TODO : SAML2KeyInfo element needs to be moved to WSS4J.
 SAML2KeyInfo saml2KeyInfo = SAML2Utils.

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java?rev=943055&r1=943054&r2=943055&view=diff
==
--- 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
 Tue May 11 09:13:23 2010
@@ -52,10 +52,7 @@ import org.opensaml.xml.io.*;
 import org.opensaml.common.SAMLVersion;
 import org.opensaml.common.SAMLObjectBuilder;
 import org.opensaml.common.xml.SAMLConstants;
-import org.opensaml.saml2.core.impl.AssertionBuilder;
-import org.opensaml.saml2.core.impl.IssuerBuilder;
-import org.opensaml.saml2.core.impl.NameIDBuilder;
-import org.opensaml.saml2.core.impl.SubjectBuilder;
+import org.opensaml.saml2.core.impl.*;
 import org.opensaml.saml2.core.*;
 import org.opensaml.saml2.metadata.EntitiesDescriptor;
 import org.joda.time.DateTime;
@@ -191,6 +188,11 @@ public class SAML2TokenIssuer implements
 Date creationTime = creationDate.toDate();
 Date expirationTime = expirationDate.toDate();
 
+Conditions conditions = new ConditionsBuilder().buildObject();
+conditions.se

svn commit: r943058 - /axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java

2010-05-11 Thread prabath
Author: prabath
Date: Tue May 11 09:16:48 2010
New Revision: 943058

URL: http://svn.apache.org/viewvc?rev=943058&view=rev
Log:
Fixing issue https://issues.apache.org/jira/browse/RAMPART-291 - Thanks Thilina 
for the patch

Modified:

axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java?rev=943058&r1=943057&r2=943058&view=diff
==
--- 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SAML2TokenIssuer.java
 Tue May 11 09:16:48 2010
@@ -16,69 +16,72 @@
 
 package org.apache.rahas.impl;
 
-import org.apache.rahas.*;
-import org.apache.rahas.TrustException;
-import org.apache.rahas.impl.util.SignKeyHolder;
-import org.apache.rahas.impl.util.SAMLAttributeCallback;
-import org.apache.rahas.impl.util.SAMLCallbackHandler;
-import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.util.UUIDGenerator;
 import org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl;
+import org.apache.axiom.om.util.UUIDGenerator;
+import org.apache.axiom.soap.SOAPEnvelope;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.Parameter;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.rahas.*;
+import org.apache.rahas.impl.util.SAMLAttributeCallback;
+import org.apache.rahas.impl.util.SAMLCallbackHandler;
+import org.apache.rahas.impl.util.SignKeyHolder;
+import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.components.crypto.Crypto;
 import org.apache.ws.security.components.crypto.CryptoFactory;
 import org.apache.ws.security.message.WSSecEncryptedKey;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.WSSecurityException;
 import org.apache.ws.security.util.Base64;
+import org.apache.ws.security.util.Loader;
 import org.apache.ws.security.util.XmlSchemaDateFormat;
-import org.apache.xml.security.utils.EncryptionConstants;
 import org.apache.xml.security.c14n.Canonicalizer;
 import org.apache.xml.security.signature.XMLSignature;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.opensaml.*;
+import org.apache.xml.security.utils.EncryptionConstants;
+import org.joda.time.DateTime;
 import org.opensaml.Configuration;
+import org.opensaml.DefaultBootstrap;
+import org.opensaml.SAMLException;
+import org.opensaml.common.SAMLObjectBuilder;
+import org.opensaml.common.SAMLVersion;
 import org.opensaml.saml1.core.NameIdentifier;
-import org.opensaml.xml.*;
-import org.opensaml.xml.schema.impl.XSStringBuilder;
+import org.opensaml.saml2.core.*;
+import org.opensaml.saml2.core.impl.AssertionBuilder;
+import org.opensaml.saml2.core.impl.ConditionsBuilder;
+import org.opensaml.saml2.core.impl.IssuerBuilder;
+import org.opensaml.saml2.core.impl.NameIDBuilder;
+import org.opensaml.xml.ConfigurationException;
+import org.opensaml.xml.XMLObject;
+import org.opensaml.xml.XMLObjectBuilder;
+import org.opensaml.xml.XMLObjectBuilderFactory;
+import org.opensaml.xml.io.*;
 import org.opensaml.xml.schema.XSString;
-import org.opensaml.xml.security.x509.X509Credential;
+import org.opensaml.xml.schema.impl.XSStringBuilder;
 import org.opensaml.xml.signature.*;
-import org.opensaml.xml.io.*;
-import org.opensaml.common.SAMLVersion;
-import org.opensaml.common.SAMLObjectBuilder;
-import org.opensaml.common.xml.SAMLConstants;
-import org.opensaml.saml2.core.impl.*;
-import org.opensaml.saml2.core.*;
-import org.opensaml.saml2.metadata.EntitiesDescriptor;
-import org.joda.time.DateTime;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
-import org.w3c.dom.Text;
 import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+import org.w3c.dom.bootstrap.DOMImplementationRegistry;
 import org.w3c.dom.ls.DOMImplementationLS;
 import org.w3c.dom.ls.LSOutput;
 import org.w3c.dom.ls.LSSerializer;
-import org.w3c.dom.bootstrap.DOMImplementationRegistry;
 
 import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.DocumentBuilder;
-import java.util.Date;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.security.cert.X509Certificate;
-import java.security.cert.CertificateEncodingException;
-import java.security.PrivateKey;
-import java.text.DateFormat;
-import java.io.InputStream;
+import javax.xml.

svn commit: r943225 - in /axis/axis2/java/core/trunk/modules: jaxws-integration/test/org/apache/axis2/jaxws/sample/ jaxws-integration/test/org/apache/axis2/jaxws/sample/dlwmin/ jaxws/src/org/apache/ax

2010-05-11 Thread scheu
Author: scheu
Date: Tue May 11 18:45:41 2010
New Revision: 943225

URL: http://svn.apache.org/viewvc?rev=943225&view=rev
Log:
AXIS2-4710
Contributor: Rich Scheuerle
Remove rpc/lit checking from doc/lit flow.  Also added a unit test.

Modified:

axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/DLWMinTests.java

axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/dlwmin/GreeterImpl.java

axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMinimalMethodMarshaller.java

Modified: 
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/DLWMinTests.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/DLWMinTests.java?rev=943225&r1=943224&r2=943225&view=diff
==
--- 
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/DLWMinTests.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/DLWMinTests.java
 Tue May 11 18:45:41 2010
@@ -100,6 +100,25 @@ public class DLWMinTests extends Abstrac
 }
 
 /**
+ * Test simple greetMe method 
+ * with style doc/lit wrapped without the presence of wrapper classes.
+ * Passing a null input and receiving a null return
+ */
+public void testGreetMe_Null() {
+
+
+Greeter proxy = getProxy("greetMe");
+
+String me = null;
+String response = proxy.greetMe(me);
+assertTrue("Expected null but received " + response, response == null);
+
+// Try the call again
+response = proxy.greetMe(me);
+assertTrue("Expected null but received " + response, response == null);
+}
+
+/**
  * Test simple greetMe method with dispatch 
  * with style doc/lit wrapped without the presence of wrapper classes.
  */

Modified: 
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/dlwmin/GreeterImpl.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/dlwmin/GreeterImpl.java?rev=943225&r1=943224&r2=943225&view=diff
==
--- 
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/dlwmin/GreeterImpl.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/sample/dlwmin/GreeterImpl.java
 Tue May 11 18:45:41 2010
@@ -35,7 +35,11 @@ import javax.xml.ws.WebServiceException;
 public class GreeterImpl implements Greeter {
 
 public String greetMe(String me) {
-return "Hello " + me;
+if (me == null) {
+return null;
+} else {
+return "Hello " + me;
+}
 }
 
 public String testUnqualified(String in) {

Modified: 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMinimalMethodMarshaller.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMinimalMethodMarshaller.java?rev=943225&r1=943224&r2=943225&view=diff
==
--- 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMinimalMethodMarshaller.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/jaxws/src/org/apache/axis2/jaxws/marshaller/impl/alt/DocLitWrappedMinimalMethodMarshaller.java
 Tue May 11 18:45:41 2010
@@ -61,7 +61,6 @@ import java.util.Map;
 import java.util.TreeSet;
 
 /**
- * The Doc/Lit Wrapped Minimal Marshaller is used when 
  *   1) The web service is Doc/Lit Wrapped, and 
  *   2) The wrapper and fault bean objects are missing (hence the term 
'Minimal')
  *   
@@ -341,16 +340,6 @@ public class DocLitWrappedMinimalMethodM
 }
 
 if (returnType != void.class) {
-
-// TODO should we allow null if the return is a header?
-//Validate input parameters for operation and make sure no 
input parameters are null.
-//As per JAXWS Specification section 3.6.2.3 if a null value 
is passes as an argument 
-//to a method then an implementation MUST throw 
WebServiceException.
-if (returnObject == null) {
-throw ExceptionFactory.makeWebServiceException(
-   
Messages.getMessage("NullParamErr3",operationDesc.getJavaMethodName()));
-
-}
 Element returnElement = null;
 QName returnQName = new QName(returnNS, returnLocalPart);
 if