Author: mlovett
Date: Wed May 16 05:11:42 2007
New Revision: 538555

URL: http://svn.apache.org/viewvc?view=rev&rev=538555
Log:
Ignore the anonOutIn operation when deciding if we should offer a sequence. If 
we don't ignore this operation then we actually send an offer for all services, 
which fails to interoperate with some one-way services.

Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClient.java
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    webservices/sandesha/trunk/java/modules/mar/module.xml
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java?view=diff&rev=538555&r1=538554&r2=538555
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/SandeshaModule.java
 Wed May 16 05:11:42 2007
@@ -24,6 +24,7 @@
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
+import org.apache.axis2.client.ServiceClient;
 import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.description.AxisDescription;
@@ -226,7 +227,8 @@
                                String name = null;
                                QName qName = op.getName();
                                if(qName != null) name = qName.getLocalPart();
-                               if(name != null && 
name.startsWith(Sandesha2Constants.SANDESHA_OP_PREFIX))
+                               if((name != null && 
name.startsWith(Sandesha2Constants.SANDESHA_OP_PREFIX)) ||
+                                  ServiceClient.ANON_OUT_IN_OP.equals(qName))
                                        break;
 
                                // If we get to here then we must have one of 
the user's operations, so
@@ -238,14 +240,15 @@
                                }
                        }
                } else if(axisDescription instanceof AxisOperation) {
-                               AxisOperation op = (AxisOperation) 
axisDescription;
-                               log.debug("Examining operation " + op.getName() 
+ ", mep " + op.getAxisSpecifMEPConstant());
-       
-                               String name = null;
-                               QName qName = op.getName();
-                               if(qName != null) name = qName.getLocalPart();
-                               if(name != null && 
!name.startsWith(Sandesha2Constants.SANDESHA_OP_PREFIX)) {
-       
+                       AxisOperation op = (AxisOperation) axisDescription;
+                       log.debug("Examining operation " + op.getName() + ", 
mep " + op.getAxisSpecifMEPConstant());
+
+                       String name = null;
+                       QName qName = op.getName();
+                       if(qName != null) name = qName.getLocalPart();
+                       if((name != null && 
!name.startsWith(Sandesha2Constants.SANDESHA_OP_PREFIX)) &&
+                          !ServiceClient.ANON_OUT_IN_OP.equals(qName)) {
+
                                // If we get to here then we must have one of 
the user's operations, so
                                // check the MEP.
                                if(op.getAxisSpecifMEPConstant() == 
WSDLConstants.MEP_CONSTANT_OUT_IN) {

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClient.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClient.java?view=diff&rev=538555&r1=538554&r2=538555
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClient.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/client/SandeshaClient.java
 Wed May 16 05:11:42 2007
@@ -490,9 +490,7 @@
                        } else {
                                
options.setAction(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_LAST_MESSAGE);
                                
options.setProperty(SandeshaClientConstants.LAST_MESSAGE, Constants.VALUE_TRUE);
-                       
-                               //the server should also reply with a last 
message
-                               serviceClient.sendReceive (null);
+                               serviceClient.fireAndForget(null);
                        }
                        
                } catch (AxisFault e) {

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=538555&r1=538554&r2=538555
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
 Wed May 16 05:11:42 2007
@@ -69,7 +69,6 @@
        public InvocationResponse processSequenceHeader(RMMsgContext rmMsgCtx) 
throws AxisFault {
                if (log.isDebugEnabled())
                        log.debug("Enter: 
SequenceProcessor::processSequenceHeader");
-               System.out.println("*********** ResponseWritten1" + 
rmMsgCtx.getProperty(Constants.RESPONSE_WRITTEN));
                
                InvocationResponse result = InvocationResponse.CONTINUE;
                Sequence sequence = (Sequence) 
rmMsgCtx.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);

Modified: webservices/sandesha/trunk/java/modules/mar/module.xml
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/mar/module.xml?view=diff&rev=538555&r1=538554&r2=538555
==============================================================================
--- webservices/sandesha/trunk/java/modules/mar/module.xml (original)
+++ webservices/sandesha/trunk/java/modules/mar/module.xml Wed May 16 05:11:42 
2007
@@ -42,6 +42,9 @@
         <!-- namespaces for the 2005-02 spec -->
         
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/SequenceAcknowledgement</actionMapping>
 
+        <!--  For interopability purposes. Some WSRM implementations tend to 
send this as the LastMessage -->
+        
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</actionMapping>
+
         <!-- namespaces for the 2007-02 spec -->
         
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/SequenceAcknowledgement</actionMapping>
        
         
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/fault</actionMapping>
@@ -58,9 +61,6 @@
         
         
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/AckRequested</actionMapping>
         
-               <!--  For interoparability perposes. Some WSRM implementations 
tend to send this as the LastMessage -->
-        
<actionMapping>http://schemas.xmlsoap.org/ws/2005/02/rm/LastMessage</actionMapping>
-               
         <!-- namespaces for the 2007-02 spec -->
         
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence</actionMapping>
         
<actionMapping>http://docs.oasis-open.org/ws-rx/wsrm/200702/CloseSequence</actionMapping>

Modified: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java?view=diff&rev=538555&r1=538554&r2=538555
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
 Wed May 16 05:11:42 2007
@@ -106,11 +106,14 @@
                
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_1);
                runEcho(clientOptions, false, false, true,true,false);
                
-//             // Test sync echo with an offer, and the 1.0 spec. In this case 
the offer is automatic
+//             // Test sync echo with an offer, and the 1.0 spec. The offer is 
not automatic as this
+//             // is a client that hasn't been built from WSDL. If the user's 
operations had been
+//             // modelled properly then the offer would happen automatically.
 //             clientOptions = new Options();
+//             
clientOptions.setProperty(SandeshaClientConstants.OFFERED_SEQUENCE_ID,SandeshaUtil.getUUID());
 //             
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_0);
 //             runEcho(clientOptions, false, false, true,false,false);
-               
+
                // Test sync echo with no offer, and the 1.1 spec
                clientOptions = new Options();
                
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_1);



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

Reply via email to