You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by ch...@apache.org on 2006/02/26 13:12:44 UTC
svn commit: r381083 - in
/webservices/sandesha/trunk/src/org/apache/sandesha2:
msgprocessors/ApplicationMsgProcessor.java workers/InOrderInvoker.java
wsrm/AckRequested.java
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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org