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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to