Author: chamikara
Date: Sun Nov 12 03:06:53 2006
New Revision: 473921
URL: http://svn.apache.org/viewvc?view=rev&rev=473921
Log:
Things from commit 473920 to the branch.
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java?view=diff&rev=473921&r1=473920&r2=473921
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/SandeshaMessageKeys.java
Sun Nov 12 03:06:53 2006
@@ -236,6 +236,9 @@
public static final String cannotFindTransportInDesc =
"cannotFindTransportInDesc";
public static final String toEPRNotSet = "toEPRNotSet";
+ public static final String toBeanNotSet = "toBeanNotSet";
+ public static final String replyToBeanNotSet = "replyToBeanNotSet";
+
public final static String errorRetrievingSecurityToken =
"errorRetrievingSecurityToken";
public final static String proofOfPossessionNotVerified =
"proofOfPossessionNotVerified";
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties?view=diff&rev=473921&r1=473920&r2=473921
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/i18n/resource.properties
Sun Nov 12 03:06:53 2006
@@ -261,6 +261,8 @@
invalidMsgNumberList=Invalid msg number list
cannotFindReqMsgFromOpContext=Cannot find the request message from the
operation context
toEPRNotSet=To EPR has not been set in the given message
+toBeanNotSet=The 'To' Sequence Property Bean has not been set for the sequence.
+replyToBeanNotSet=The 'ReplyTo' Sequence Property Bean has not been set for
the sequence.
cannotFindTransportInDesc=Cannot find the transport in description {0} in the
ConfigurationContext
invalidOfferNoResponseEndpoint=Cannot derive a valid offer from the given
infomation. No Endpoint for receiving messages.
invalidElementFoundWithinElement=Found invalid ''{0}'' element within ''{1}''
element
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java?view=diff&rev=473921&r1=473920&r2=473921
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/RMMsgCreator.java
Sun Nov 12 03:06:53 2006
@@ -89,7 +89,6 @@
if (context == null)
throw new
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.configContextNotSet));
- SequencePropertyBeanMgr seqPropMgr =
storageManager.getSequencePropertyBeanMgr();
MessageContext createSeqmsgContext;
try {
// creating by copying common contents. (this will not
set contexts
@@ -110,14 +109,6 @@
} catch (AxisFault e) {
throw new SandeshaException(e.getMessage());
}
-
- createSeqmsgContext.setTo(applicationRMMsg.getTo());
- EndpointReference referenceReplyTo =
applicationMsgContext.getReplyTo();
-
- if (referenceReplyTo!=null) {
- EndpointReference createSeqReplyTo = new
EndpointReference (referenceReplyTo.getAddress());
- createSeqmsgContext.setReplyTo(createSeqReplyTo);
- }
RMMsgContext createSeqRMMsg = new
RMMsgContext(createSeqmsgContext);
@@ -140,9 +131,12 @@
EndpointReference offeredEndpoint = (EndpointReference)
applicationMsgContext
.getProperty(SandeshaClientConstants.OFFERED_ENDPOINT);
- if (offeredEndpoint==null)
- offeredEndpoint =
applicationMsgContext.getReplyTo(); //using replyTo as the Endpoint if it is
not specified
+ if (offeredEndpoint==null) {
+ EndpointReference replyTo =
applicationMsgContext.getReplyTo(); //using replyTo as the Endpoint if it is
not specified
+ if (replyTo!=null)
+ offeredEndpoint =
SandeshaUtil.cloneEPR(replyTo);
+ }
if (offeredSequence != null &&
!"".equals(offeredSequence)) {
SequenceOffer offerPart = new
SequenceOffer(rmNamespaceValue);
Identifier identifier = new
Identifier(rmNamespaceValue);
@@ -163,34 +157,43 @@
}
}
}
+
+ String to =
SandeshaUtil.getSequenceProperty(sequencePropertyKey,
+ Sandesha2Constants.SequenceProperties.TO_EPR,
storageManager);
+ String replyTo =
SandeshaUtil.getSequenceProperty(sequencePropertyKey,
+
Sandesha2Constants.SequenceProperties.REPLY_TO_EPR,
+ storageManager);
+
+ if (replyTo == null) {
+ // using wsa:Anonymous as ReplyTo
+
+ String addressingNamespace = applicationRMMsg
+ .getAddressingNamespaceValue();
+ if (AddressingConstants.Submission.WSA_NAMESPACE
+ .equals(addressingNamespace))
+ replyTo =
AddressingConstants.Submission.WSA_ANONYMOUS_URL;
+ else
+ replyTo =
AddressingConstants.Final.WSA_ANONYMOUS_URL;
+ }
- //TODO remove setting addressing values following two beans.
- SequencePropertyBean replyToBean =
seqPropMgr.retrieve(sequencePropertyKey,
-
Sandesha2Constants.SequenceProperties.REPLY_TO_EPR);
- SequencePropertyBean toBean =
seqPropMgr.retrieve(sequencePropertyKey,
- Sandesha2Constants.SequenceProperties.TO_EPR);
+ if (to == null) {
+ String message = SandeshaMessageHelper
+
.getMessage(SandeshaMessageKeys.toBeanNotSet);
+ throw new SandeshaException(message);
+ }
- if (toBean == null || toBean.getValue() == null)
- throw new
SandeshaException(SandeshaMessageHelper.getMessage(SandeshaMessageKeys.toEPRNotValid,
null));
+ // TODO store and retrieve a full EPR instead of just the
address.
+ EndpointReference toEPR = new EndpointReference(to);
+ EndpointReference replyToEPR = new EndpointReference(replyTo);
- EndpointReference toEPR = new
EndpointReference(toBean.getValue());
- EndpointReference replyToEPR = null;
+ createSeqRMMsg.setTo(toEPR);
+ createSeqRMMsg.setReplyTo(replyToEPR);
String anonymousURI =
SpecSpecificConstants.getAddressingAnonymousURI(addressingNamespaceValue);
if (acksToEPR==null || acksToEPR.getAddress() == null ||
"".equals(acksToEPR.getAddress()))
acksToEPR = new EndpointReference(anonymousURI);
- if (replyToBean != null && replyToBean.getValue() != null)
- replyToEPR = new
EndpointReference(replyToBean.getValue());
-
- if (createSeqRMMsg.getTo() == null)
- createSeqRMMsg.setTo(toEPR);
-
- // ReplyTo will be set only if not null.
- if (replyToEPR != null)
- createSeqRMMsg.setReplyTo(replyToEPR);
-
AcksTo acksTo = new
AcksTo(acksToEPR,rmNamespaceValue,addressingNamespaceValue);
createSequencePart.setAcksTo(acksTo);
@@ -359,7 +362,7 @@
if (outSequenceId != null && !"".equals(outSequenceId))
{
Accept accept = new Accept(rmNamespaceValue,
addressingNamespaceValue);
- EndpointReference acksToEPR =
createSeqMessage.getTo();
+ EndpointReference acksToEPR =
SandeshaUtil.cloneEPR (createSeqMessage.getTo());
//putting the To EPR as the AcksTo for the
response sequence.
AcksTo acksTo = new
AcksTo(acksToEPR,rmNamespaceValue, addressingNamespaceValue);
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=473921&r1=473920&r2=473921
==============================================================================
---
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
(original)
+++
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SandeshaUtil.java
Sun Nov 12 03:06:53 2006
@@ -24,6 +24,7 @@
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Iterator;
+import java.util.Map;
import java.util.StringTokenizer;
import javax.xml.namespace.QName;
@@ -43,6 +44,7 @@
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.MessageContext;
@@ -1169,5 +1171,26 @@
pollingManager.shedulePollingRequest(sequenceId);
}
+ public static EndpointReference cloneEPR (EndpointReference epr) {
+ EndpointReference newEPR = new EndpointReference
(epr.getAddress());
+ Map referenceParams = epr.getAllReferenceParameters();
+
+ if (referenceParams != null) {
+ for (Iterator keys =
referenceParams.keySet().iterator(); keys
+ .hasNext();) {
+ Object key = keys.next();
+ Object referenceParam =
referenceParams.get(key);
+
+ if (referenceParam instanceof OMElement) {
+ OMElement clonedElement = ((OMElement)
referenceParam)
+ .cloneOMElement();
+ clonedElement.setText("false");
+
newEPR.addReferenceParameter(clonedElement);
+ }
+ }
+ }
+
+ return newEPR;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]