You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ga...@apache.org on 2007/03/27 13:57:53 UTC

svn commit: r522874 - in /webservices/sandesha/trunk/java: src/org/apache/sandesha2/ src/org/apache/sandesha2/util/ src/org/apache/sandesha2/wsrm/ test/src/org/apache/sandesha2/faulttests/

Author: gatfora
Date: Tue Mar 27 04:57:52 2007
New Revision: 522874

URL: http://svn.apache.org/viewvc?view=rev&rev=522874
Log:
Make sure that the right namespace is used to parse Subcodes from SequenceFaults

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
    webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/FaultData.java Tue Mar 27 04:57:52 2007
@@ -17,6 +17,8 @@
 
 package org.apache.sandesha2;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axiom.om.OMElement;
 
 /**
@@ -30,7 +32,7 @@
 
 	private String code;
 
-	private String subcode;
+	private QName subcode;
 
 	private String reason;
 
@@ -69,11 +71,11 @@
 		this.reason = reason;
 	}
 
-	public String getSubcode() {
+	public QName getSubcode() {
 		return subcode;
 	}
 
-	public void setSubcode(String subcode) {
+	public void setSubcode(QName subcode) {
 		this.subcode = subcode;
 	}
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java Tue Mar 27 04:57:52 2007
@@ -82,6 +82,15 @@
 			
 			// Other elements
 			QName Identifier = new QName(NS_URI, WSRM_COMMON.IDENTIFIER);
+
+			// Fault elements
+			QName UnknownSequence = new QName(NS_URI, SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+			QName MessageNumberRollover = new QName(NS_URI, SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+			QName InvalidAcknowledgement = new QName(NS_URI, SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+			QName CreateSequenceRefused = new QName(NS_URI, SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+			QName LastMessageNoExceeded = new QName(NS_URI, SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
+			QName SequenceClosed = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+			QName SequenceTerminated = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
 		}
 	}
 	
@@ -141,6 +150,15 @@
 			
 			// Other elements
 			QName Identifier = new QName(NS_URI, WSRM_COMMON.IDENTIFIER);
+			
+			// Fault elements
+			QName UnknownSequence = new QName(NS_URI, SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+			QName MessageNumberRollover = new QName(NS_URI, SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+			QName InvalidAcknowledgement = new QName(NS_URI, SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+			QName CreateSequenceRefused = new QName(NS_URI, SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+			QName LastMessageNoExceeded = new QName(NS_URI, SOAPFaults.Subcodes.LAST_MESSAGE_NO_EXCEEDED);
+			QName SequenceClosed = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+			QName SequenceTerminated = new QName(NS_URI, SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
 		}
 	}
 	
@@ -336,19 +354,19 @@
 
 		public interface Subcodes {
 
-			String SEQUENCE_TERMINATED = "wsrm:SequenceTerminated";
+			String SEQUENCE_TERMINATED = "SequenceTerminated";
 			
-			String SEQUENCE_CLOSED = "wsrm:SequenceClosed";
+			String SEQUENCE_CLOSED = "SequenceClosed";
 
-			String UNKNOWN_SEQUENCE = "wsrm:UnknownSequence";
+			String UNKNOWN_SEQUENCE = "UnknownSequence";
 
-			String INVALID_ACKNOWLEDGEMENT = "wsrm:InvalidAcknowledgement";
+			String INVALID_ACKNOWLEDGEMENT = "InvalidAcknowledgement";
 
-			String MESSAGE_NUMBER_ROLEOVER = "wsrm:MessageNumberRollover";
+			String MESSAGE_NUMBER_ROLEOVER = "MessageNumberRollover";
 
-			String LAST_MESSAGE_NO_EXCEEDED = "wsrm:LastMessageNumberExceeded";
+			String LAST_MESSAGE_NO_EXCEEDED = "LastMessageNumberExceeded";
 
-			String CREATE_SEQUENCE_REFUSED = "wsrm:CreateSequenceRefused";
+			String CREATE_SEQUENCE_REFUSED = "CreateSequenceRefused";
 			
 
 		}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/FaultManager.java Tue Mar 27 04:57:52 2007
@@ -179,7 +179,8 @@
 			else
 				data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
 
-			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.UNKNOWN_SEQUENCE);
+			data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(), 
+					Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE ));
 
 			SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
 
@@ -271,7 +272,8 @@
 			data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
 
 		data.setType(Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT);
-		data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.INVALID_ACKNOWLEDGEMENT);
+		data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMsgCtx.getRMNamespaceValue(), 
+				Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT ));
 		data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.invalidAckFault));
 
 		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
@@ -314,7 +316,8 @@
 		else
 			data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
 
-		data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.CREATE_SEQUENCE_REFUSED);
+		data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(), 
+				Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED ));
 
 		SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
 		OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,
@@ -357,7 +360,8 @@
 			else
 				data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
 
-			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_TERMINATED);
+			data.setSubcode(SpecSpecificConstants.getFaultSubcode(referenceRMMessage.getRMNamespaceValue(), 
+					Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED ));
 			data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.sequenceTerminatedFault, sequenceID));
 			data.setType(Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED);
 			
@@ -394,7 +398,8 @@
 			else
 				data.setCode(SOAP12Constants.FAULT_CODE_SENDER);
 
-			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.SEQUENCE_CLOSED);
+			data.setSubcode(SpecSpecificConstants.getFaultSubcode(referenceRMMessage.getRMNamespaceValue(), 
+					Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED ));
 			data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.cannotAcceptMsgAsSequenceClosedFault));
 			data.setType(Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED);
 			
@@ -437,6 +442,7 @@
 		SOAPFaultValue faultSubcodeValue = factory.createSOAPFaultValue(faultSubCode);
 		
 		faultColdValue.setText(data.getCode());
+		
 		faultSubcodeValue.setText(data.getSubcode());
 
 		faultCode.setSubCode(faultSubCode);
@@ -529,7 +535,8 @@
 			if (faultPart.getCode() != null && 
 					faultPart.getCode().getSubCode() != null &&
 					faultPart.getCode().getSubCode().getValue() != null)
-				soapFaultSubcode = faultPart.getCode().getSubCode().getValue().getText();
+				
+				soapFaultSubcode = faultPart.getCode().getSubCode().getValue().getTextAsQName().getLocalPart();
 			
 			// Get the identifier, if there is one.
 			SOAPFaultDetail detail = faultPart.getDetail();
@@ -548,7 +555,7 @@
 	      
 	      // If the sequence fault part is not null, then we have an RM specific fault.
 	      if (sequenceFault != null) {
-	      	soapFaultSubcode = sequenceFault.getFaultCode().getFaultCode();
+	      	soapFaultSubcode = sequenceFault.getFaultCode().getFaultCode().getLocalPart();
 	      	
 	      	// Get the identifier - if there is one.
 	      	identifier = sequenceFault.getFaultCode().getDetail();
@@ -611,7 +618,8 @@
 
 			FaultData data = new FaultData();
 			data.setCode(SOAP11Constants.FAULT_CODE_SENDER);
-			data.setSubcode(Sandesha2Constants.SOAPFaults.Subcodes.MESSAGE_NUMBER_ROLEOVER);
+			data.setSubcode(SpecSpecificConstants.getFaultSubcode(rmMessageContext.getRMNamespaceValue(), 
+					Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER ));
 
 			SOAPFactory factory = SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
 			OMElement identifierElement = factory.createOMElement(Sandesha2Constants.WSRM_COMMON.IDENTIFIER,

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SpecSpecificConstants.java Tue Mar 27 04:57:52 2007
@@ -17,6 +17,10 @@
 
 package org.apache.sandesha2.util;
 
+import java.util.MissingResourceException;
+
+import javax.xml.namespace.QName;
+
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.description.AxisOperation;
 import org.apache.axis2.description.AxisService;
@@ -373,5 +377,67 @@
 		
 		return result;
 	}
+
+	public static QName getFaultSubcode(String namespaceValue, int faultType) 
+	throws SandeshaException, MissingResourceException {
+		QName result = null;
+		
+		if (Sandesha2Constants.SPEC_2005_02.NS_URI.equals(namespaceValue)) {
+			switch (faultType) {
+				case Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.UnknownSequence;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.MessageNumberRollover;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.InvalidAcknowledgement;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.CreateSequenceRefused;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.LAST_MESSAGE_NO_EXCEEDED:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.LastMessageNoExceeded;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.SequenceClosed;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED:
+					result = Sandesha2Constants.SPEC_2005_02.QNames.SequenceTerminated;
+					break;
+			}
+		}
+		else if (Sandesha2Constants.SPEC_2007_02.NS_URI.equals(namespaceValue)) {
+			switch (faultType) {
+				case Sandesha2Constants.SOAPFaults.FaultType.UNKNOWN_SEQUENCE:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.UnknownSequence;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.MESSAGE_NUMBER_ROLLOVER:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.MessageNumberRollover;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.INVALID_ACKNOWLEDGEMENT:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.InvalidAcknowledgement;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.CREATE_SEQUENCE_REFUSED:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.CreateSequenceRefused;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.LAST_MESSAGE_NO_EXCEEDED:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.LastMessageNoExceeded;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_CLOSED:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.SequenceClosed;
+					break;
+				case Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED:
+					result = Sandesha2Constants.SPEC_2007_02.QNames.SequenceTerminated;
+					break;
+			}
+		}
+		else
+			throw new SandeshaException (SandeshaMessageHelper.getMessage(
+					SandeshaMessageKeys.unknownSpec,
+					namespaceValue));
+		
+		return result;
+  }
 
 }

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/wsrm/FaultCode.java Tue Mar 27 04:57:52 2007
@@ -34,7 +34,7 @@
 
 public class FaultCode implements IOMRMElement {
 
-	private String faultCode = null;
+	private QName faultCode = null;
 	
 	private String namespaceValue = null;
 
@@ -73,14 +73,12 @@
 					SandeshaMessageKeys.noFaultCode,
 					sequenceFault.toString()));
 
-		this.faultCode = faultCodePart.getText();
+		this.faultCode = faultCodePart.getTextAsQName();
 
 		OMElement detailPart = sequenceFault
 			.getFirstChildWithName(new QName(namespaceValue,
 					Sandesha2Constants.WSRM_COMMON.DETAIL));
 		
-		this.faultCode = faultCodePart.getText();
-		
 		if (detailPart != null) {
 			detailOMElement = detailPart;
 			
@@ -103,7 +101,7 @@
 					SandeshaMessageHelper.getMessage(
 							SandeshaMessageKeys.nullPassedElement));
 
-		if (faultCode == null || faultCode == "")
+		if (faultCode == null)
 			throw new OMException(
 					SandeshaMessageHelper.getMessage(
 							SandeshaMessageKeys.noFaultCode));
@@ -132,11 +130,11 @@
 		return sequenceFault;
 	}
     
-    public void setFaultCode(String faultCode) {
+    public void setFaultCode(QName faultCode) {
         this.faultCode = faultCode;
     }
     
-    public String getFaultCode() {
+    public QName getFaultCode() {
         return faultCode;
     }
 

Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java Tue Mar 27 04:57:52 2007
@@ -85,7 +85,7 @@
     assertNotNull(message);
     
     // Check that the response contains the wsrm:CreateSequenceRefused tag    
-    assertTrue(message.indexOf("wsrm:CreateSequenceRefused") > -1);
+    assertTrue(message.indexOf("CreateSequenceRefused") > -1);
     
     // Disconnect at the end of the test
     connection.disconnect();
@@ -145,5 +145,6 @@
 		return outputStream.toByteArray();
 	}
 }
+
 
 

Modified: webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java?view=diff&rev=522874&r1=522873&r2=522874
==============================================================================
--- webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java (original)
+++ webservices/sandesha/trunk/java/test/src/org/apache/sandesha2/faulttests/InvalidAcknowledgementTest.java Tue Mar 27 04:57:52 2007
@@ -119,7 +119,7 @@
     assertNotNull(message);
     
     // Check that the response contains the InvalidAcknowledgement tag    
-    assertTrue(message.indexOf("wsrm:InvalidAcknowledgement") > -1);
+    assertTrue(message.indexOf("InvalidAcknowledgement") > -1);
     
     // Check that the <wsrm:Identifier>seqID</wsrm:Identifier> matches the sequence ID specified
     String faultID = message.substring(message.indexOf("<wsrm:Identifier>") + 17, message.indexOf("</wsrm:Identifier>"));
@@ -274,5 +274,6 @@
 		return bean;
 	}
 }
+
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org