Author: gatfora
Date: Thu Nov 29 03:05:14 2007
New Revision: 599377

URL: http://svn.apache.org/viewvc?rev=599377&view=rev
Log:
Add MissingSelectionFault and UnsupportedSelectionFault as described in 
SANDESHA2-73

Added:
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/MissingSelectionFaultTest.java
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/UnsupportedSelectionFaultTest.java
Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/PollingManager.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MsgInitializer.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SpecSpecificConstants.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/TerminateManager.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MakeConnection.java
    
webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/resource.properties
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/FaultTestUtils.java
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/UnsupportedScenariosTest.java

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/Sandesha2Constants.java
 Thu Nov 29 03:05:14 2007
@@ -123,6 +123,7 @@
                        
                        // WS-MC actions
                        public static final String ACTION_MAKE_CONNECTION       
      = SPEC_2007_02.MC_NS_URI + "/MakeConnection";
+                       public static final String MC_FAULT                     
      = SPEC_2007_02.MC_NS_URI + "/fault";
 
                        public static final String SOAP_ACTION_CREATE_SEQUENCE  
           = ACTION_CREATE_SEQUENCE;
                        public static final String 
SOAP_ACTION_CREATE_SEQUENCE_RESPONSE    = ACTION_CREATE_SEQUENCE_RESPONSE;
@@ -165,6 +166,8 @@
                        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);
+                       QName UnsupportedSelection = new QName(MC_NS_URI, 
SOAPFaults.Subcodes.UNSUPPORTED_SELECTION);
+                       QName MissingSelection = new QName(MC_NS_URI, 
SOAPFaults.Subcodes.MISSING_SELECTION);
                }
        }
        
@@ -239,6 +242,8 @@
                String USES_SEQUENCE_STR = "UsesSequenceSTR";
                
                String ENDPOINT = "Endpoint";
+               
+               String UNSUPPORTED_ELEMENT = "UnsupportedElement";
        }
 
        public interface WSA {
@@ -380,6 +385,9 @@
 
                        String CREATE_SEQUENCE_REFUSED = 
"CreateSequenceRefused";
                        
+                       String MISSING_SELECTION = "MissingSelection";
+
+                       String UNSUPPORTED_SELECTION = "UnsupportedSelection";
 
                }
 
@@ -398,6 +406,10 @@
                        public static final int SEQUENCE_CLOSED = 6;
 
                        public static final int SEQUENCE_TERMINATED = 7;
+
+                       public static final int UNSUPPORTED_SELECTION = 8;
+                       
+                       public static final int MISSING_SELECTION = 9;
                }
        }
 

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
 Thu Nov 29 03:05:14 2007
@@ -226,6 +226,8 @@
        public static final String unknownSequenceFault="unknownSequenceFault";
        public static final String invalidAckFault="invalidAckFault";
        public static final String 
cannotAcceptMsgAsSequenceClosedFault="cannotAcceptMsgAsSequenceClosedFault"; 
+       public static final String 
unsuportedSelectionFault="unsuportedSelectionFault";
+       public static final String 
missingSelectionFault="missingSelectionFault";
        
        public final static String policyBeanNotFound = "policyBeanNotFound";
        public final static String cloneDoesNotMatchToOriginal = 
"cloneDoesNotMatchToOriginal";

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 Thu Nov 29 03:05:14 2007
@@ -49,6 +49,7 @@
 import org.apache.sandesha2.storage.beans.RMSBean;
 import org.apache.sandesha2.storage.beans.RMSequenceBean;
 import org.apache.sandesha2.storage.beans.SenderBean;
+import org.apache.sandesha2.util.FaultManager;
 import org.apache.sandesha2.util.MsgInitializer;
 import org.apache.sandesha2.util.SandeshaUtil;
 import org.apache.sandesha2.util.SpecSpecificConstants;
@@ -76,10 +77,17 @@
        public boolean processInMessage(RMMsgContext rmMsgCtx, Transaction 
transaction) throws AxisFault {
                if(log.isDebugEnabled()) log.debug("Enter: 
MakeConnectionProcessor::processInMessage " + 
rmMsgCtx.getSOAPEnvelope().getBody());
 
-               MakeConnection makeConnection = (MakeConnection) 
rmMsgCtx.getMakeConnection();
+               MakeConnection makeConnection = rmMsgCtx.getMakeConnection();
                
                Address address = makeConnection.getAddress();
                Identifier identifier = makeConnection.getIdentifier();
+               
+               // If there is no address or identifier - make the 
MissingSelection Fault.
+               if (address == null && identifier == null)
+                       FaultManager.makeMissingSelectionFault(rmMsgCtx);
+               
+               if (makeConnection.getUnexpectedElement() != null)
+                       FaultManager.makeUnsupportedSelectionFault(rmMsgCtx, 
makeConnection.getUnexpectedElement());
                
                //some initial setup
                ConfigurationContext configurationContext = 
rmMsgCtx.getConfigurationContext();

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/PollingManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/PollingManager.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/PollingManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/polling/PollingManager.java
 Thu Nov 29 03:05:14 2007
@@ -233,7 +233,7 @@
                if(referenceMessage!=null){
                        RMMsgContext referenceRMMessage = 
MsgInitializer.initializeMessage(referenceMessage);
                        RMMsgContext makeConnectionRMMessage = 
RMMsgCreator.createMakeConnectionMessage(referenceRMMessage,
-                                       rmBean, wireSeqId, wireAddress, 
storageManager);
+                                       rmBean, wireSeqId, wireAddress);
                        
                        
                        //we must set serverSide to false. Having serverSide as 
true (I.e. when polling for RMD) will cause the SenderWorker to ignore

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/FaultManager.java
 Thu Nov 29 03:05:14 2007
@@ -345,6 +345,118 @@
        }
        
        /**
+        * Makes the WSMC UnsupportedSelectionFault
+        */
+       public static void makeUnsupportedSelectionFault(RMMsgContext 
rmMessageContext, QName unsupportedElement) throws AxisFault {
+               if (log.isDebugEnabled())
+                       log.debug("Enter: 
FaultManager::makeUnsupportedSelectionFault, " + unsupportedElement);
+               
+               // Return a UnsupportedSelectionFault error
+
+               int SOAPVersion = 
SandeshaUtil.getSOAPVersion(rmMessageContext.getMessageContext().getEnvelope());
+
+               FaultData data = new FaultData();
+               if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
+                       data.setCode(SOAP11Constants.FAULT_CODE_RECEIVER);
+               else
+                       data.setCode(SOAP12Constants.FAULT_CODE_RECEIVER);
+
+               
data.setSubcode(SpecSpecificConstants.getFaultSubcode(Sandesha2Constants.SPEC_2007_02.MC_NS_URI,
 
+                               
Sandesha2Constants.SOAPFaults.FaultType.UNSUPPORTED_SELECTION ));
+
+               SOAPFactory factory = 
SOAPAbstractFactory.getSOAPFactory(SOAPVersion);
+               OMElement element = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.UNSUPPORTED_ELEMENT,
+                               Sandesha2Constants.SPEC_2007_02.MC_NS_URI, 
Sandesha2Constants.WSRM_COMMON.NS_PREFIX_MC);
+               element.setText(unsupportedElement);
+               data.setDetail(element);
+
+               
data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.unsuportedSelectionFault));
+               
+               
data.setType(Sandesha2Constants.SOAPFaults.FaultType.UNSUPPORTED_SELECTION);
+
+               makeMakeConnectionFault(rmMessageContext, data);
+               if (log.isDebugEnabled())
+                       log.debug("Exit: 
FaultManager::makeUnsupportedSelectionFault");
+       }
+
+       /**
+        * Makes WSMC MissingSelectionFault
+        */
+       public static void makeMissingSelectionFault(RMMsgContext 
rmMessageContext) throws AxisFault {
+               if (log.isDebugEnabled())
+                       log.debug("Enter: 
FaultManager::makeMissingSelectionFault");
+               
+               int SOAPVersion = 
SandeshaUtil.getSOAPVersion(rmMessageContext.getMessageContext().getEnvelope());
+
+               FaultData data = new FaultData();
+               if (SOAPVersion == Sandesha2Constants.SOAPVersion.v1_1)
+                       data.setCode(SOAP11Constants.FAULT_CODE_RECEIVER);
+               else
+                       data.setCode(SOAP12Constants.FAULT_CODE_RECEIVER);
+
+               
data.setSubcode(SpecSpecificConstants.getFaultSubcode(Sandesha2Constants.SPEC_2007_02.MC_NS_URI,
 
+                               
Sandesha2Constants.SOAPFaults.FaultType.MISSING_SELECTION ));
+
+               data.setDetail(null);
+
+               
data.setReason(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.missingSelectionFault));
+               
+               
data.setType(Sandesha2Constants.SOAPFaults.FaultType.MISSING_SELECTION);
+
+               makeMakeConnectionFault(rmMessageContext, data);
+               
+               if (log.isDebugEnabled())
+                       log.debug("Exit: 
FaultManager::makeMissingSelectionFault");
+       }
+
+       private static void makeMakeConnectionFault(RMMsgContext 
referenceRMMsgContext, FaultData data) throws AxisFault {
+               SOAPFactory factory = (SOAPFactory) 
referenceRMMsgContext.getSOAPEnvelope().getOMFactory();
+               
+               SOAPFaultCode faultCode = factory.createSOAPFaultCode();
+               SOAPFaultSubCode faultSubCode = 
factory.createSOAPFaultSubCode(faultCode);
+               
+               SOAPFaultValue faultColdValue = 
factory.createSOAPFaultValue(faultCode);
+               SOAPFaultValue faultSubcodeValue = 
factory.createSOAPFaultValue(faultSubCode);
+               
+               faultSubcodeValue.setText(data.getSubcode());
+
+               faultCode.setSubCode(faultSubCode);
+               
+               SOAPFaultReason reason = factory.createSOAPFaultReason();
+               SOAPFaultText reasonText = factory.createSOAPFaultText();
+               reasonText.setText(data.getReason());
+               
+               SOAPFaultDetail detail = factory.createSOAPFaultDetail();
+               if (data.getDetail() != null)
+                       detail.addDetailEntry(data.getDetail());
+               
+               String SOAPNamespaceValue = factory.getSoapVersionURI();
+               
+               if 
(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals(SOAPNamespaceValue)) {
+                        reasonText.setLang(Sandesha2Constants.LANG_EN);
+                       reason.addSOAPText(reasonText);
+                       
referenceRMMsgContext.setProperty(SOAP12Constants.SOAP_FAULT_CODE_LOCAL_NAME, 
faultCode);
+                       
referenceRMMsgContext.setProperty(SOAP12Constants.SOAP_FAULT_REASON_LOCAL_NAME, 
reason);
+                       
referenceRMMsgContext.setProperty(SOAP12Constants.SOAP_FAULT_DETAIL_LOCAL_NAME, 
detail);
+                       faultColdValue.setText(data.getCode());
+                       
+               } else if (SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI.equals 
(SOAPNamespaceValue)) {
+                       reason.setText(data.getReason());
+                       
referenceRMMsgContext.setProperty(SOAP11Constants.SOAP_FAULT_CODE_LOCAL_NAME, 
faultCode);
+                       
referenceRMMsgContext.setProperty(SOAP11Constants.SOAP_FAULT_DETAIL_LOCAL_NAME, 
detail);
+                       
referenceRMMsgContext.setProperty(SOAP11Constants.SOAP_FAULT_STRING_LOCAL_NAME, 
reason);
+                       faultColdValue.setText(data.getSubcode());
+                       
+               }
+               
+               AxisFault fault = new 
AxisFault(faultColdValue.getTextAsQName(), data.getReason(), "", "", 
data.getDetail());
+               
fault.setFaultAction(Sandesha2Constants.SPEC_2007_02.Actions.MC_FAULT);
+               
+               //if this is throwable throwing it out, else we will log here.
+               throw fault; 
+       }
+       
+       /**
         * Checks if a sequence is terminated and returns a SequenceTerminated 
fault.
         * @param referenceRMMessage
         * @param sequenceID
@@ -433,7 +545,7 @@
                        log.debug("Exit: FaultManager::checkForSequenceClosed");
                return false;
        }
-       
+               
        /**
         * Adds the necessary Fault elements as properties to the message 
context.
         * Or if this is a SOAP11 Fault, generates the correct RM Fault and 
sends.
@@ -495,7 +607,7 @@
 
                        
SOAPFaultEnvelopeCreator.addSOAPFaultEnvelope(faultMessageContext, 
Sandesha2Constants.SOAPVersion.v1_1, data, 
referenceRMMsgContext.getRMNamespaceValue());                     
                        
-                       // Set the action
+                       // Set the action // TODO SET THE ACTION BASED ON THE 
SPEC
                        faultMessageContext.setWSAAction(
                                        
SpecSpecificConstants.getAddressingFaultAction(referenceRMMsgContext.getRMSpecVersion()));
                        
@@ -536,8 +648,9 @@
                                log.debug("Exit: FaultManager::getOrSendFault: 
" + fault);
                 throw fault; 
             }
-        else
-                       log.error("Sandesha2 got a fault when processing the 
message essage " + referenceRMMsgContext.getMessageId(), fault);
+        
+               // TODO - Remove console written strings
+               log.error("Sandesha2 got a fault when processing the message " 
+ referenceRMMsgContext.getMessageId(), fault);
 
                if (log.isDebugEnabled())
                        log.debug("Exit: FaultManager::getOrSendFault");
@@ -588,7 +701,7 @@
                        if (log.isDebugEnabled()) 
                        log.debug("soap11");
 //                     try {
-                               SequenceFault sequenceFault = 
(SequenceFault)rmMsgCtx.getSequenceFault();
+                               SequenceFault sequenceFault = 
rmMsgCtx.getSequenceFault();
              
                                // If the sequence fault part is not null, then 
we have an RM specific fault.
                                if (sequenceFault != null) {

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MsgInitializer.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MsgInitializer.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MsgInitializer.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MsgInitializer.java
 Thu Nov 29 03:05:14 2007
@@ -208,10 +208,7 @@
                                sequenceID = 
makeConnection.getIdentifier().getIdentifier();
                        } else if (makeConnection.getAddress()!=null){
                                //TODO get sequenceId based on the anonymous 
address.
-                       } else {
-                               throw new SandeshaException (
-                                               "Invalid MakeConnection 
message. Either Address or Identifier must be present");
-                       }
+                       } 
                } else
                        
rmMsgContext.setMessageType(Sandesha2Constants.MessageTypes.UNKNOWN);
                

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/RMMsgCreator.java
 Thu Nov 29 03:05:14 2007
@@ -319,7 +319,7 @@
         */
        public static RMMsgContext createCreateSeqResponseMsg(RMMsgContext 
createSeqMessage, RMSequenceBean rmSequenceBean) throws AxisFault {
 
-               CreateSequence cs = (CreateSequence) 
createSeqMessage.getCreateSequence();
+               CreateSequence cs = createSeqMessage.getCreateSequence();
                String namespace = createSeqMessage.getRMNamespaceValue();
 
                CreateSequenceResponse response = new 
CreateSequenceResponse(namespace);
@@ -361,8 +361,7 @@
 
        public static RMMsgContext createTerminateSeqResponseMsg(RMMsgContext 
terminateSeqRMMsg, RMSequenceBean rmSequenceBean) throws AxisFault {
         
-               TerminateSequence terminateSequence = (TerminateSequence) 
terminateSeqRMMsg
-                               .getTerminateSequence();
+               TerminateSequence terminateSequence = 
terminateSeqRMMsg.getTerminateSequence();
                String sequenceID = 
terminateSequence.getIdentifier().getIdentifier();
 
                String namespace = terminateSeqRMMsg.getRMNamespaceValue();
@@ -381,8 +380,7 @@
 
        public static RMMsgContext createCloseSeqResponseMsg(RMMsgContext 
closeSeqRMMsg, RMSequenceBean rmSequenceBean) throws AxisFault {
 
-               CloseSequence closeSequence = (CloseSequence) closeSeqRMMsg
-                               .getCloseSequence();
+               CloseSequence closeSequence = closeSeqRMMsg.getCloseSequence();
                String sequenceID = 
closeSequence.getIdentifier().getIdentifier();
 
                String namespace = closeSeqRMMsg.getRMNamespaceValue();
@@ -508,8 +506,7 @@
        public static RMMsgContext createMakeConnectionMessage (RMMsgContext 
referenceRMMessage,
                                                                                
                                        RMSequenceBean bean,
                                                                                
                                        String makeConnectionSeqId,
-                                                                               
                                        String makeConnectionAnonURI,
-                                                                               
                                        StorageManager storageManager)
+                                                                               
                                        String makeConnectionAnonURI)
        throws AxisFault
        {
                

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SpecSpecificConstants.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SpecSpecificConstants.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SpecSpecificConstants.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/SpecSpecificConstants.java
 Thu Nov 29 03:05:14 2007
@@ -96,9 +96,9 @@
        public static String getTerminateSequenceResponseAction (String 
specVersion) throws SandeshaException {
                if (Sandesha2Constants.SPEC_VERSIONS.v1_1.equals(specVersion)) 
                        return 
Sandesha2Constants.SPEC_2007_02.Actions.ACTION_TERMINATE_SEQUENCE_RESPONSE;
-               else 
-                       throw new SandeshaException 
(SandeshaMessageHelper.getMessage(
-                                       SandeshaMessageKeys.unknownSpec));
+                
+               throw new SandeshaException (SandeshaMessageHelper.getMessage(
+                               SandeshaMessageKeys.unknownSpec));
        }
        
        public static String getCloseSequenceAction (String specVersion) throws 
SandeshaException {
@@ -193,10 +193,10 @@
        public static String getTerminateSequenceResponseSOAPAction (String 
specVersion) throws SandeshaException {
                if (Sandesha2Constants.SPEC_VERSIONS.v1_1.equals(specVersion)) 
                        return 
Sandesha2Constants.SPEC_2007_02.Actions.SOAP_ACTION_TERMINATE_SEQUENCE_RESPONSE;
-               else 
-                       throw new SandeshaException 
(SandeshaMessageHelper.getMessage(
-                                       SandeshaMessageKeys.unknownSpec,
-                                       specVersion));
+                
+               throw new SandeshaException (SandeshaMessageHelper.getMessage(
+                               SandeshaMessageKeys.unknownSpec,
+                               specVersion));
        }
        
        public static String getAckRequestSOAPAction (String specVersion) 
throws SandeshaException {
@@ -439,6 +439,16 @@
                                case 
Sandesha2Constants.SOAPFaults.FaultType.SEQUENCE_TERMINATED:
                                        result = 
Sandesha2Constants.SPEC_2007_02.QNames.SequenceTerminated;
                                        break;
+                       }
+               }
+               else if 
(Sandesha2Constants.SPEC_2007_02.MC_NS_URI.equals(namespaceValue)) {            
        
+                       switch (faultType) {                    
+                               case 
Sandesha2Constants.SOAPFaults.FaultType.UNSUPPORTED_SELECTION:
+                                       result = 
Sandesha2Constants.SPEC_2007_02.QNames.UnsupportedSelection;
+                                       break;
+                               case 
Sandesha2Constants.SOAPFaults.FaultType.MISSING_SELECTION:
+                                       result = 
Sandesha2Constants.SPEC_2007_02.QNames.MissingSelection;
+                                       break;                  
                        }
                }
                else

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/TerminateManager.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/TerminateManager.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/TerminateManager.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/TerminateManager.java
 Thu Nov 29 03:05:14 2007
@@ -28,8 +28,6 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.client.Options;
-import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.commons.logging.Log;
@@ -37,8 +35,6 @@
 import org.apache.sandesha2.RMMsgContext;
 import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.SandeshaException;
-import org.apache.sandesha2.client.SandeshaClient;
-import org.apache.sandesha2.client.SandeshaClientConstants;
 import org.apache.sandesha2.i18n.SandeshaMessageHelper;
 import org.apache.sandesha2.i18n.SandeshaMessageKeys;
 import org.apache.sandesha2.storage.SandeshaStorageException;
@@ -50,8 +46,6 @@
 import org.apache.sandesha2.storage.beans.InvokerBean;
 import org.apache.sandesha2.storage.beans.RMDBean;
 import org.apache.sandesha2.storage.beans.SenderBean;
-
-import com.ibm.xslt4j.bcel.generic.RETURN;
 
 /**
  * Contains logic to remove all the storad data of a sequence. Methods of this

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MakeConnection.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MakeConnection.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MakeConnection.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/wsrm/MakeConnection.java
 Thu Nov 29 03:05:14 2007
@@ -19,6 +19,8 @@
 
 package org.apache.sandesha2.wsrm;
 
+import java.util.Iterator;
+
 import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMElement;
@@ -41,6 +43,8 @@
        
        Address address = null;
        
+       QName unexpectedElement = null;
+       
        public MakeConnection (String namespaceValue) throws SandeshaException {
                
                if (!isNamespaceSupported(namespaceValue))
@@ -64,17 +68,22 @@
 
        public Object fromOMElement(OMElement makeConnectionElement) throws 
OMException, AxisFault {
 
-               OMElement identifierElement = 
makeConnectionElement.getFirstChildWithName(Sandesha2Constants.SPEC_2007_02.QNames.Identifier);
-               if(identifierElement == null) {
-                       identifierElement = 
makeConnectionElement.getFirstChildWithName(Sandesha2Constants.SPEC_2005_02.QNames.Identifier);
-               }
-               OMElement addressElement = 
makeConnectionElement.getFirstChildWithName(new 
QName(namespaceValue,Sandesha2Constants.WSA.ADDRESS));
-               
-               if (identifierElement==null && addressElement==null) {
-                       String message = "MakeConnection element should have at 
lease one of Address and Identifier subelements";
-                       throw new SandeshaException (message);
-               }
+               Iterator childElements = 
makeConnectionElement.getChildElements();
                
+               OMElement identifierElement = null;
+               OMElement addressElement = null;
+               
+               while (childElements.hasNext()) {
+                       OMElement element = (OMElement)childElements.next();
+                       if 
(Sandesha2Constants.SPEC_2007_02.QNames.Identifier.getLocalPart().equals(element.getLocalName()))
+                               identifierElement = element;
+                       else if 
(Sandesha2Constants.WSA.ADDRESS.equals(element.getLocalName()))
+                               addressElement = element;
+                       else 
+                               unexpectedElement = element.getQName();
+                       
+               }
+
                if (identifierElement!=null) {
                        identifier = new Identifier 
(identifierElement.getNamespace().getNamespaceURI());
                        identifier.fromOMElement(identifierElement);
@@ -107,10 +116,6 @@
                                        
SandeshaMessageHelper.getMessage(message));
                }
 
-       /*      if (identifier==null && address==null) {
-                       String message = "Invalid MakeConnection object. Both 
Identifier and Address are null";
-               }
-               */
                OMFactory factory = body.getOMFactory();
                OMNamespace rmNamespace = 
factory.createOMNamespace(namespaceValue,Sandesha2Constants.WSRM_COMMON.NS_PREFIX_MC);
                OMElement makeConnectionElement = 
factory.createOMElement(Sandesha2Constants.WSRM_COMMON.MAKE_CONNECTION,rmNamespace);
@@ -120,6 +125,14 @@
                if (address!=null)
                        address.toOMElement(makeConnectionElement);
 
+               // Added to test Invalid MakeConnection messages
+               if (unexpectedElement != null)
+               {
+                       OMElement unexElement = 
factory.createOMElement(unexpectedElement);
+
+                       makeConnectionElement.addChild(unexElement);
+               }
+                       
                body.addChild(makeConnectionElement);
                
                return body;
@@ -141,4 +154,11 @@
                this.identifier = identifier;
        }
 
+       public void setUnexpectedElement(QName unexpectedElement) {
+                 this.unexpectedElement = unexpectedElement;   
+               }
+
+       public QName getUnexpectedElement() {
+               return unexpectedElement;
+       }       
 }

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/resource.properties
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/resource.properties?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/resource.properties
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/resources/org/apache/sandesha2/i18n/resource.properties
 Thu Nov 29 03:05:14 2007
@@ -248,3 +248,5 @@
 unknownSequenceFault=The value of wsrm:Identifier is not a known Sequence 
identifier.
 invalidAckFault=The SequenceAcknowledgement violates the cumulative 
Acknowledgement invariant.
 cannotAcceptMsgAsSequenceClosedFault=The Sequence is closed and can not accept 
new messages. 
+unsuportedSelectionFault=The extension element used in the message is not 
supported by the MakeConnection receiver.
+missingSelectionFault=The MakeConnection element did not contain any selection 
criteria.
\ No newline at end of file

Modified: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/CreateSequenceRefusedFaultTest.java
 Thu Nov 29 03:05:14 2007
@@ -125,7 +125,7 @@
                messageContext = createSeqRMMessage.getMessageContext();
                
messageContext.setWSAAction(SpecSpecificConstants.getCreateSequenceAction(Sandesha2Constants.SPEC_VERSIONS.v1_1));
 
-               CreateSequence createSeqResPart = (CreateSequence) 
createSeqRMMessage.getCreateSequence();
+               CreateSequence createSeqResPart = 
createSeqRMMessage.getCreateSequence();
 
                createSeqResPart.setAcksTo(
                                new AcksTo(new 
EndpointReference(AddressingConstants.Final.WSA_NONE_URI), 

Modified: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/FaultTestUtils.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/FaultTestUtils.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/FaultTestUtils.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/FaultTestUtils.java
 Thu Nov 29 03:05:14 2007
@@ -49,9 +49,13 @@
         * @return
         * @throws IOException 
         */
-       public static final String retrieveResponseMessage(HttpURLConnection 
connection) throws IOException {
-               
-               InputStream tmpIn2 = connection.getInputStream();
+       public static final String retrieveResponseMessage(HttpURLConnection 
connection) {
+               InputStream tmpIn2 = null;
+               try {
+                       tmpIn2 = connection.getInputStream();
+               } catch (IOException e) {
+                       tmpIn2 = connection.getErrorStream();
+               }
 
                // Read the sync response
                boolean done = false;

Added: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/MissingSelectionFaultTest.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/MissingSelectionFaultTest.java?rev=599377&view=auto
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/MissingSelectionFaultTest.java
 (added)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/MissingSelectionFaultTest.java
 Thu Nov 29 03:05:14 2007
@@ -0,0 +1,152 @@
+/*
+ * 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.sandesha2.faulttests;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.SandeshaTestCase;
+import org.apache.sandesha2.storage.beans.RMSBean;
+import org.apache.sandesha2.util.RMMsgCreator;
+import org.apache.sandesha2.util.SpecSpecificConstants;
+import org.apache.sandesha2.wsrm.MakeConnection;
+
+public class MissingSelectionFaultTest extends SandeshaTestCase {
+
+       private static final String server_repoPath = "target" + File.separator
+               + "repos" + File.separator + "server";
+
+       private static final String server_axis2_xml = "target" + File.separator
+               + "repos" + File.separator + "server" + File.separator
+               + "server_axis2.xml";
+
+       private static ConfigurationContext serverConfigContext;
+
+       public MissingSelectionFaultTest() {
+               super("MissingSelectionFaultTest");
+       }
+
+       public void setUp() throws Exception {
+               super.setUp();
+               serverConfigContext = startServer(server_repoPath, 
server_axis2_xml);
+       }
+
+       /**
+        * Sends a MakeConnection message to an RM Destination without a 
Address or Identifier element.
+        * refused.
+        * 
+        * @throws Exception
+        */
+       public void testMissingSelectionFault() throws Exception {
+
+               // Open a connection to the endpoint
+               HttpURLConnection connection = 
FaultTestUtils.getHttpURLConnection(
+                       "http://127.0.0.1:"; + serverPort
+                               + "/axis2/services/RMSampleService",
+                       
"http://docs.oasis-open.org/ws-rx/wsmc/200702/MakeConnection";);
+
+               OutputStream tmpOut2 = connection.getOutputStream();
+
+               byte ar[] = getMessageAsBytes();
+
+               // Send the message to the socket.
+               tmpOut2.write(ar);
+               tmpOut2.flush();
+
+               // Get the response message from the connection
+               String message = 
FaultTestUtils.retrieveResponseMessage(connection);
+
+               // Check that the fault message isn't null
+               assertNotNull(message);
+
+               // Check that the response contains the 
wsrm:CreateSequenceRefused tag
+               assertTrue(message.indexOf("MissingSelection") > -1);
+
+               // Disconnect at the end of the test
+               connection.disconnect();
+       }
+
+       /**
+        * Get a MakeConnection message as bytes
+        * 
+        * This generates a MakeConnection that has missing values
+        * which will generate a Fault from the service.
+        * 
+        * @return
+        */
+       private byte[] getMessageAsBytes() throws Exception {
+               String to = "http://127.0.0.1:"; + 9999 //serverPort
+                       + "/axis2/services/RMSampleService";
+
+               SOAPFactory factory = new SOAP11Factory();
+               SOAPEnvelope dummyEnvelope = factory.getDefaultEnvelope();
+
+               // Create a "new" application message
+               MessageContext messageContext = new MessageContext();
+               messageContext.setConfigurationContext(serverConfigContext);
+               messageContext.setAxisService(serverConfigContext
+                       .getAxisConfiguration().getService("RMSampleService"));
+               messageContext.setEnvelope(dummyEnvelope);
+
+               RMMsgContext applicationRMMsg = new 
RMMsgContext(messageContext);
+               EndpointReference toEPR = new EndpointReference(to);
+               applicationRMMsg.setTo(toEPR);
+
+               // Create an RMSBean so the create sequence message can be 
created
+               RMSBean rmsBean = new RMSBean();
+               rmsBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
+               rmsBean.setToEndpointReference(toEPR);
+               rmsBean.setAcksToEndpointReference(new EndpointReference(
+                       AddressingConstants.Final.WSA_NONE_URI));
+
+               // Create a Create Sequence message
+               // generating a new create sequeuce message.
+               RMMsgContext makeConnectionRMMessage = 
RMMsgCreator.createMakeConnectionMessage(applicationRMMsg, rmsBean, 
"TempSeqId", "ANON URI");
+               messageContext = makeConnectionRMMessage.getMessageContext();
+               messageContext
+                       .setWSAAction(SpecSpecificConstants
+                               
.getCreateSequenceAction(Sandesha2Constants.SPEC_VERSIONS.v1_1));
+
+               MakeConnection makeConnectionPart = 
makeConnectionRMMessage.getMakeConnection();
+
+               makeConnectionPart.setIdentifier(null);
+               makeConnectionPart.setAddress(null);
+
+               // Update the SOAP Envelope of the message
+               makeConnectionRMMessage.addSOAPEnvelope();
+
+               SOAPEnvelope envelope = 
makeConnectionRMMessage.getMessageContext()
+                       .getEnvelope();
+
+               ByteArrayOutputStream outputStream = new 
ByteArrayOutputStream();
+
+               envelope.serialize(outputStream);
+
+               return outputStream.toByteArray();
+       }
+}

Added: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/UnsupportedSelectionFaultTest.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/UnsupportedSelectionFaultTest.java?rev=599377&view=auto
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/UnsupportedSelectionFaultTest.java
 (added)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/faulttests/UnsupportedSelectionFaultTest.java
 Thu Nov 29 03:05:14 2007
@@ -0,0 +1,154 @@
+/*
+ * 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.sandesha2.faulttests;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+
+import javax.xml.namespace.QName;
+
+import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
+import org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.sandesha2.RMMsgContext;
+import org.apache.sandesha2.Sandesha2Constants;
+import org.apache.sandesha2.SandeshaTestCase;
+import org.apache.sandesha2.storage.beans.RMSBean;
+import org.apache.sandesha2.util.RMMsgCreator;
+import org.apache.sandesha2.util.SpecSpecificConstants;
+import org.apache.sandesha2.wsrm.MakeConnection;
+
+public class UnsupportedSelectionFaultTest extends SandeshaTestCase {
+
+       private static final String server_repoPath = "target" + File.separator
+               + "repos" + File.separator + "server";
+
+       private static final String server_axis2_xml = "target" + File.separator
+               + "repos" + File.separator + "server" + File.separator
+               + "server_axis2.xml";
+
+       private static ConfigurationContext serverConfigContext;
+
+       public UnsupportedSelectionFaultTest() {
+               super("UnsupportedSelectionFaultTest");
+       }
+
+       public void setUp() throws Exception {
+               super.setUp();
+               serverConfigContext = startServer(server_repoPath, 
server_axis2_xml);
+       }
+
+       /**
+        * Sends a MakeConnection message to an RM Destination which contains 
an unsupported selector
+        * refused.
+        * 
+        * @throws Exception
+        */
+       public void testUnsupportedSelectionFault() throws Exception {
+
+               // Open a connection to the endpoint
+               HttpURLConnection connection = 
FaultTestUtils.getHttpURLConnection(
+                       "http://127.0.0.1:"; + serverPort
+                               + "/axis2/services/RMSampleService",
+                       
"http://docs.oasis-open.org/ws-rx/wsmc/200702/MakeConnection";);
+
+               OutputStream tmpOut2 = connection.getOutputStream();
+
+               byte ar[] = getMessageAsBytes();
+
+               // Send the message to the socket.
+               tmpOut2.write(ar);
+               tmpOut2.flush();
+
+               // Get the response message from the connection
+               String message = 
FaultTestUtils.retrieveResponseMessage(connection);
+
+               // Check that the fault message isn't null
+               assertNotNull(message);
+
+               // Check that the response contains the UnsupportedSelection tag
+               assertTrue(message.indexOf("UnsupportedElement") > -1);
+
+               // Disconnect at the end of the test
+               connection.disconnect();
+       }
+
+       /**
+        * Get a MakeConnection message as bytes
+        * 
+        * This generates a MakeConnection that has missing values
+        * which will generate a Fault from the service.
+        * 
+        * @return
+        */
+       private byte[] getMessageAsBytes() throws Exception {
+               String to = "http://127.0.0.1:"; + serverPort
+                       + "/axis2/services/RMSampleService";
+
+               SOAPFactory factory = new SOAP11Factory();
+               SOAPEnvelope dummyEnvelope = factory.getDefaultEnvelope();
+
+               // Create a "new" application message
+               MessageContext messageContext = new MessageContext();
+               messageContext.setConfigurationContext(serverConfigContext);
+               messageContext.setAxisService(serverConfigContext
+                       .getAxisConfiguration().getService("RMSampleService"));
+               messageContext.setEnvelope(dummyEnvelope);
+
+               RMMsgContext applicationRMMsg = new 
RMMsgContext(messageContext);
+               EndpointReference toEPR = new EndpointReference(to);
+               applicationRMMsg.setTo(toEPR);
+
+               // Create an RMSBean so the create sequence message can be 
created
+               RMSBean rmsBean = new RMSBean();
+               rmsBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
+               rmsBean.setToEndpointReference(toEPR);
+               rmsBean.setAcksToEndpointReference(new EndpointReference(
+                       AddressingConstants.Final.WSA_NONE_URI));
+
+               // Create a Create Sequence message
+               // generating a new create sequeuce message.
+               RMMsgContext makeConnectionRMMessage = 
RMMsgCreator.createMakeConnectionMessage(applicationRMMsg, rmsBean, 
"TempSeqId", "ANON URI");
+               messageContext = makeConnectionRMMessage.getMessageContext();
+               messageContext
+                       .setWSAAction(SpecSpecificConstants
+                               
.getCreateSequenceAction(Sandesha2Constants.SPEC_VERSIONS.v1_1));
+
+               MakeConnection makeConnectionPart = 
makeConnectionRMMessage.getMakeConnection();
+
+               QName name = new QName(AddressingConstants.Final.WSA_NAMESPACE, 
"BAD_ONE");
+               makeConnectionPart.setUnexpectedElement(name);
+
+               // Update the SOAP Envelope of the message
+               makeConnectionRMMessage.addSOAPEnvelope();
+
+               SOAPEnvelope envelope = 
makeConnectionRMMessage.getMessageContext()
+                       .getEnvelope();
+
+               ByteArrayOutputStream outputStream = new 
ByteArrayOutputStream();
+
+               envelope.serialize(outputStream);
+
+               return outputStream.toByteArray();
+       }
+}

Modified: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/UnsupportedScenariosTest.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/UnsupportedScenariosTest.java?rev=599377&r1=599376&r2=599377&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/UnsupportedScenariosTest.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/UnsupportedScenariosTest.java
 Thu Nov 29 03:05:14 2007
@@ -26,7 +26,7 @@
 public class UnsupportedScenariosTest extends RMScenariosTest {
 
        public UnsupportedScenariosTest () {
-               super ("RMScenariosTest");
+               super ("UnsupportedScenariosTest");
        }
        
        public void setUp () throws Exception {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to