Author: dims
Date: Tue Jul 11 09:18:52 2006
New Revision: 420911
URL: http://svn.apache.org/viewvc?rev=420911&view=rev
Log:
Fix for AXIS2-886 - New JMS sender should take account of WS-Addressing
destination even on the server
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/njms/JMSSender.java
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/njms/JMSSender.java
URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/njms/JMSSender.java?rev=420911&r1=420910&r2=420911&view=diff
==============================================================================
---
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/njms/JMSSender.java
(original)
+++
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/njms/JMSSender.java
Tue Jul 11 09:18:52 2006
@@ -50,26 +50,34 @@
log.debug("JMSSender invoke()");
JMSOutTransportInfo transportInfo = null;
- String targetEpr = null;
+ String targetAddress = null;
- if (msgContext.isServerSide()) {
- // get the replyto information
- transportInfo = (JMSOutTransportInfo)
- msgContext.getProperty(Constants.OUT_TRANSPORT_INFO);
+ // is there a transport url? which may be different from the WS-A To..
+ targetAddress = (String) msgContext.getProperty(
+ MessageContextConstants.TRANSPORT_URL);
- } else {
- // is there a transport url? which may be different from the WS-A
To..
- targetEpr = (String) msgContext.getProperty(
- MessageContextConstants.TRANSPORT_URL);
-
- if (targetEpr == null && msgContext.getTo() != null &&
- !AddressingConstants.Submission.WSA_ANONYMOUS_URL
- .equals(msgContext.getTo().getAddress()) &&
- !AddressingConstants.Final.WSA_ANONYMOUS_URL
- .equals(msgContext.getTo().getAddress())) {
- targetEpr = msgContext.getTo().getAddress();
+ if (targetAddress != null) {
+ transportInfo = new JMSOutTransportInfo(targetAddress);
+ }
+ else if (targetAddress == null && msgContext.getTo() != null &&
+ !AddressingConstants.Submission.WSA_ANONYMOUS_URL
+ .equals(msgContext.getTo().getAddress()) &&
+ !AddressingConstants.Final.WSA_ANONYMOUS_URL
+ .equals(msgContext.getTo().getAddress())) {
+ targetAddress = msgContext.getTo().getAddress();
+
+ if (targetAddress.equals(AddressingConstants.Final.WSA_NONE_URI)) {
+ //Don't send the message.
+ return;
+ }
+ else {
+ transportInfo = new JMSOutTransportInfo(targetAddress);
}
- transportInfo = new JMSOutTransportInfo(targetEpr);
+ }
+ else if (msgContext.isServerSide()){
+ // get the jms ReplyTo
+ transportInfo = (JMSOutTransportInfo)
+ msgContext.getProperty(Constants.OUT_TRANSPORT_INFO);
}
// should we wait and listen for a response?
@@ -97,7 +105,7 @@
if (dest == null) {
// if it does not exist, create it
- String name = JMSUtils.getDestination(targetEpr);
+ String name = JMSUtils.getDestination(targetAddress);
try {
dest = session.createQueue(name);
} catch (JMSException e) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]