Author: chamikara
Date: Mon Oct 2 06:25:55 2006
New Revision: 452030
URL: http://svn.apache.org/viewvc?view=rev&rev=452030
Log:
Some bug fixes. These caused failures in different locations - specially in
WSRX 1.1.
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
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=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/Sandesha2Constants.java
Mon Oct 2 06:25:55 2006
@@ -535,6 +535,10 @@
String WSRM_ANONYMOUS_URI_PREFIX =
"http://docs.oasis-open.org/ws-rx/wsrm/200608/anonymous";
+ String RM_IN_OUT_OPERATION_NAME = "RMInOutOperation";
+
+ String RM_IN_ONLY_OPERATION = "RMInOnlyOperation";
+
String [] SPEC_NS_URIS = {
SPEC_2005_02.NS_URI,
SPEC_2006_08.NS_URI
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/client/SandeshaClient.java
Mon Oct 2 06:25:55 2006
@@ -1094,6 +1094,18 @@
anonOutOnlyOperation.setName(ServiceClient.ANON_OUT_ONLY_OP);
anonOutOnlyOperation.setParent(service);
service.addChild(anonOutOnlyOperation);
+
+ Iterator iter = service.getOperations();
+ AxisOperation referenceOperation = null;
+ if (iter.hasNext())
+ referenceOperation = (AxisOperation)
iter.next();
+
+ if (referenceOperation!=null) {
+
anonOutOnlyOperation.setPhasesOutFlow(referenceOperation.getPhasesOutFlow());
+
anonOutOnlyOperation.setPhasesOutFaultFlow(referenceOperation.getPhasesOutFaultFlow());
+
anonOutOnlyOperation.setPhasesInFaultFlow(referenceOperation.getPhasesInFaultFlow());
+
anonOutOnlyOperation.setPhasesInFaultFlow(referenceOperation.getRemainingPhasesInFlow());
+ }
}
} catch (AxisFault e) {
throw new SandeshaException (e);
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/handlers/SandeshaInHandler.java
Mon Oct 2 06:25:55 2006
@@ -17,9 +17,12 @@
package org.apache.sandesha2.handlers;
+import java.util.Iterator;
+
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
import org.apache.axis2.handlers.AbstractHandler;
import org.apache.commons.logging.Log;
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqMsgProcessor.java
Mon Oct 2 06:25:55 2006
@@ -21,6 +21,7 @@
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
Mon Oct 2 06:25:55 2006
@@ -296,16 +296,15 @@
terminateSeqResponseRMMsg.addSOAPEnvelope();
-
terminateSeqResponseRMMsg.setFlow(MessageContext.OUT_FLOW);
terminateSeqResponseRMMsg.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE,
"true");
+ EndpointReference toEPR = terminateSeqMsg.getTo();
+
outMessage.setResponseWritten(true);
AxisEngine engine = new
AxisEngine(terminateSeqMsg.getConfigurationContext());
- EndpointReference toEPR = terminateSeqMsg.getTo();
-
try {
engine.send(outMessage);
} catch (AxisFault e) {
@@ -367,8 +366,16 @@
try {
AxisOperation oldOPeration =
msgContext.getAxisOperation();
AxisOperation outInAxisOp = new OutInAxisOperation(new
QName("temp"));
+
+ AxisOperation referenceInOutOperation =
msgContext.getAxisService().getOperation(new QName
(Sandesha2Constants.RM_IN_OUT_OPERATION_NAME));
+ if (referenceInOutOperation==null) {
+ String messge = "Cant find the recerence RM
InOut operation";
+ throw new SandeshaException (messge);
+ }
+
// setting flows
-
outInAxisOp.setRemainingPhasesInFlow(oldOPeration.getRemainingPhasesInFlow());
+
outInAxisOp.setRemainingPhasesInFlow(referenceInOutOperation.getRemainingPhasesInFlow());
+//
outInAxisOp.setRemainingPhasesInFlow(oldOPeration.getRemainingPhasesInFlow());
OperationContext opcontext =
OperationContextFactory.createOperationContext(
WSDL20_2004Constants.MEP_CONSTANT_OUT_IN, outInAxisOp);
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqResponseMsgProcessor.java
Mon Oct 2 06:25:55 2006
@@ -32,6 +32,7 @@
import org.apache.sandesha2.storage.beanmanagers.SequencePropertyBeanMgr;
import org.apache.sandesha2.storage.beans.SequencePropertyBean;
import org.apache.sandesha2.util.SandeshaUtil;
+import org.apache.sandesha2.util.TerminateManager;
import org.apache.sandesha2.wsrm.TerminateSequenceResponse;
/**
@@ -65,6 +66,11 @@
secManager.checkProofOfPossession(token, body,
msgContext);
}
+ //doing the termination
+// TODO - do termination correctly.
+// TerminateManager.terminateSendingSide(configContext,
sequencePropertyKey, msgCtx.isServerSide(),
+// storageManager);
+
// Stop this message travelling further through the Axis runtime
terminateResRMMsg.pause();
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
Mon Oct 2 06:25:55 2006
@@ -97,7 +97,6 @@
nextMsgBean = (NextMsgBean)
results.get(item);
}
- sequenceId =
nextMsgBean.getSequenceID();
} else {
NextMsgBean findBean = new NextMsgBean
();
findBean.setPollingMode(true);
@@ -109,6 +108,8 @@
//If not valid entry is found, try again later.
if (nextMsgBean==null)
continue;
+
+ sequenceId = nextMsgBean.getSequenceID();
//create a MakeConnection message
String referenceMsgKey =
nextMsgBean.getReferenceMessageKey();
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
Mon Oct 2 06:25:55 2006
@@ -520,12 +520,6 @@
MessageContext newMessageContext = new MessageContext();
newMessageContext.setConfigurationContext(configContext);
-
-// Options referenceMsgOptions =
referenceMessage.getOptions();
-// Options newOptions = null;
-// if (referenceMsgOptions!=null)
-// newOptions = new Options (referenceMsgOptions);
-// else
Options newOptions = new Options ();
@@ -579,10 +573,11 @@
AxisService service =
newMessageContext.getAxisService();
if (service != null && operation != null) {
- service.addChild(operation);
+// Adding this operation to the service is tricky.
+// service.addChild(operation);
+
operation.setParent(service);
}
-
OperationContext operationContext = new
OperationContext(operation);
newMessageContext.setOperationContext(operationContext);
@@ -610,6 +605,8 @@
.getProperty(MessageContext.TRANSPORT_IN));
newMessageContext.setProperty(MessageContext.TRANSPORT_OUT, referenceMessage
.getProperty(MessageContext.TRANSPORT_OUT));
+
+ //TODO - move this to a property file.
newMessageContext.setProperty(RampartMessageData.KEY_RAMPART_POLICY,
referenceMessage
.getProperty(RampartMessageData.KEY_RAMPART_POLICY));
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
Mon Oct 2 06:25:55 2006
@@ -372,6 +372,7 @@
if (terminated != null && terminated.getValue() != null &&
"true".equals(terminated.getValue())) {
String message = "Terminate was added previously.";
log.debug(message);
+ return;
}
RMMsgContext terminateRMMessage =
RMMsgCreator.createTerminateSequenceMessage(referenceMessage, outSequenceId,
@@ -387,11 +388,18 @@
String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid, null);
throw new SandeshaException(message);
}
-
+
terminateRMMessage.setTo(new
EndpointReference(toEPR.getAddress()));
+ SequencePropertyBean replyToBean =
seqPropMgr.retrieve(sequencePropertyKey,
+
Sandesha2Constants.SequenceProperties.REPLY_TO_EPR);
+ if (replyToBean!=null) {
+ terminateRMMessage.setReplyTo(new EndpointReference
(replyToBean.getValue()));
+ }
+
String addressingNamespaceURI =
SandeshaUtil.getSequenceProperty(sequencePropertyKey,
Sandesha2Constants.SequenceProperties.ADDRESSING_NAMESPACE_VALUE,
storageManager);
+
String anonymousURI =
SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceURI);
String rmVersion =
SandeshaUtil.getRMVersion(sequencePropertyKey, storageManager);
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=452030&r1=452029&r2=452030
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
Mon Oct 2 06:25:55 2006
@@ -191,8 +191,19 @@
checkForSyncResponses(msgCtx);
}
- if (rmMsgCtx.getMessageType() ==
Sandesha2Constants.MessageTypes.TERMINATE_SEQ) {
- // terminate sending side.
+ if ((rmMsgCtx.getMessageType() ==
Sandesha2Constants.MessageTypes.TERMINATE_SEQ)
+ /*&&
+
(Sandesha2Constants.SPEC_2005_02.NS_URI.equals(rmMsgCtx.getRMNamespaceValue()))*/)
{
+
+ //TODO - cant do below due to a bug. Since
CreateSequenceResponsMsgProcessor does not get called
+ //currently. To fix this fix the 'todo' in the
processOutMessage method of the TerminateSeqMsgProcesser.
+
+ //terminate message sent using the
SandeshaClient. Since the terminate message will simply get the
+ //InFlow of the reference message get called
which could be zero sized (OutOnly operations).
+
+ // terminate sending side if this is the WSRM
1.0 spec.
+ // If the WSRM versoion is 1.1 termination will
happen in the terminate sequence response message.
+
TerminateSequence terminateSequence =
(TerminateSequence) rmMsgCtx
.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ);
String sequenceID =
terminateSequence.getIdentifier().getIdentifier();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]