Author: chamikara
Date: Sun Feb 26 04:12:39 2006
New Revision: 381083
URL: http://svn.apache.org/viewcvs?rev=381083&view=rev
Log:
Corrected mustUnderstand processing of the ackRequested header block. (SOAP 1.2
case was not working correctly due to this).
A bug fix in the InOrderInvoker.
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/AckRequested.java
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
URL:
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java?rev=381083&r1=381082&r2=381083&view=diff
==============================================================================
---
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/src/org/apache/sandesha2/msgprocessors/ApplicationMsgProcessor.java
Sun Feb 26 04:12:39 2006
@@ -297,6 +297,13 @@
AckRequested ackRequested = (AckRequested) rmMsgCtx
.getMessagePart(Sandesha2Constants.MessageParts.ACK_REQUEST);
+
+ if (ackRequested!=null) {
+ //setting mustundestand=false for the ackRequested
header block.
+ ackRequested.setMustUnderstand(false);
+ rmMsgCtx.addSOAPEnvelope();
+ }
+
LastMessage lastMessage = (LastMessage)
sequence.getLastMessage();
//Setting the ack depending on AcksTo.
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
URL:
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java?rev=381083&r1=381082&r2=381083&view=diff
==============================================================================
---
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
(original)
+++
webservices/sandesha/trunk/src/org/apache/sandesha2/workers/InOrderInvoker.java
Sun Feb 26 04:12:39 2006
@@ -155,10 +155,10 @@
new InvokerBean(null,
nextMsgno, sequenceId))
.iterator();
+ boolean invoked = false;
+
while (stMapIt.hasNext()) {
-
-
InvokerBean stMapBean =
(InvokerBean) stMapIt
.next();
String key =
stMapBean.getMessageContextRefKey();
@@ -184,6 +184,7 @@
new AxisEngine
(msgToInvoke.getConfigurationContext())
.resume(msgToInvoke);
+ invoked = true;
if
(!AxisOperationFactory.MEP_URI_IN_ONLY.equals(msgToInvoke.getAxisOperation().getMessageExchangePattern()))
{
invocationTransaction = storageManager.getTransaction();
@@ -222,10 +223,12 @@
}
- nextMsgno++;
-
nextMsgBean.setNextMsgNoToProcess(nextMsgno);
- nextMsgMgr.update(nextMsgBean);
- invocationTransaction.commit();
+ if (invoked) {
+ nextMsgno++;
+
nextMsgBean.setNextMsgNoToProcess(nextMsgno);
+ nextMsgMgr.update(nextMsgBean);
+ invocationTransaction.commit();
+ }
}
} catch (SandeshaException e1) {
Modified:
webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/AckRequested.java
URL:
http://svn.apache.org/viewcvs/webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/AckRequested.java?rev=381083&r1=381082&r2=381083&view=diff
==============================================================================
--- webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/AckRequested.java
(original)
+++ webservices/sandesha/trunk/src/org/apache/sandesha2/wsrm/AckRequested.java
Sun Feb 26 04:12:39 2006
@@ -43,6 +43,7 @@
private SOAPFactory factory;
OMNamespace rmNamespace = null;
String namespaceValue = null;
+ private boolean mustUnderstand = true;
public AckRequested(SOAPFactory factory,String namespaceValue) {
this.factory = factory;
@@ -100,7 +101,7 @@
SOAPHeader SOAPHdr = (SOAPHeader) header;
SOAPHeaderBlock ackReqHdrBlock = SOAPHdr.addHeaderBlock(
Sandesha2Constants.WSRM_COMMON.ACK_REQUESTED,
rmNamespace);
- ackReqHdrBlock.setMustUnderstand(true);
+ ackReqHdrBlock.setMustUnderstand(isMustUnderstand());
identifier.toOMElement(ackReqHdrBlock);
@@ -140,6 +141,14 @@
elem.detach();
toOMElement(header);
+ }
+
+ public boolean isMustUnderstand() {
+ return mustUnderstand;
+ }
+
+ public void setMustUnderstand(boolean mustUnderstand) {
+ this.mustUnderstand = mustUnderstand;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]