Author: gdaniels
Date: Thu Jan 12 14:33:03 2006
New Revision: 368498
URL: http://svn.apache.org/viewcvs?rev=368498&view=rev
Log:
Correctly send refPs over both anonymous and non-anonymous connections.
Don't duplicate serialized WSA headers when using non-anonymous replies.
Modified:
webservices/addressing/trunk/src/org/apache/axis/message/addressing/handler/AddressingHandler.java
Modified:
webservices/addressing/trunk/src/org/apache/axis/message/addressing/handler/AddressingHandler.java
URL:
http://svn.apache.org/viewcvs/webservices/addressing/trunk/src/org/apache/axis/message/addressing/handler/AddressingHandler.java?rev=368498&r1=368497&r2=368498&view=diff
==============================================================================
---
webservices/addressing/trunk/src/org/apache/axis/message/addressing/handler/AddressingHandler.java
(original)
+++
webservices/addressing/trunk/src/org/apache/axis/message/addressing/handler/AddressingHandler.java
Thu Jan 12 14:33:03 2006
@@ -185,31 +185,36 @@
}
EndpointReferenceType faultTo = reqHeaders.getFaultTo();
+ if (faultTo != null) {
+ resHeaders.setReferenceProperties(faultTo.getProperties());
+ resHeaders.setReferenceParameters(faultTo.getParameters());
- resHeaders.setReferenceProperties(faultTo.getProperties());
- resHeaders.setReferenceParameters(faultTo.getParameters());
-
- resHeaders.toEnvelope(msg.getSOAPEnvelope());
+ // resHeaders.toEnvelope(msg.getSOAPEnvelope());
- // process FaultTo
- if (faultTo != null) {
+ // process FaultTo
AttributedURI address = faultTo.getAddress();
if (address != null) {
String uri = address.toString();
/** Fix Sonic00027851, WS Addressing does not properly examine
and deliver to an anonymous FaultTo address */
- if (uri != null &&
!uri.equals(AddressingUtils.getAnonymousRoleURI())) {
+ if (uri != null &&
+ !uri.equals(AddressingUtils.getAnonymousRoleURI())) {
// send the msg to fault to
forwardMessage(faultTo, msg);
// Somehow make the response empty, or create a new empty
// response
- /** Fix Sonic00027691 avoid NullPointerException with
msgContext.setCurrentMessage(null)*/
+ /** Fix Sonic00027691 avoid NullPointerException with
msgContext.setCurrentMessage(null)*/
if (msgContext.getPastPivot())
- msgContext.setResponseMessage(null);
+ msgContext.setResponseMessage(null);
else
- msgContext.setRequestMessage(null);
+ msgContext.setRequestMessage(null);
+ return;
}
}
}
+
+ // TODO : Default to ReplyTo, and then From?
+
+ resHeaders.toEnvelope(msg.getSOAPEnvelope());
}
/**
@@ -495,11 +500,12 @@
msgID = new MessageID(new URI("uuid:" + uuidGen.nextUUID()));
resHeaders.setMessageID(msgID);
- resHeaders.toEnvelope(msg.getSOAPEnvelope(), this.actor);
-
// process ReplyTo
EndpointReferenceType replyTo = reqHeaders.getReplyTo();
if (replyTo != null) {
+ resHeaders.setReferenceProperties(replyTo.getProperties());
+ resHeaders.setReferenceParameters(replyTo.getParameters());
+
AttributedURI address = replyTo.getAddress();
if (address != null) {
String uri = address.toString();
@@ -508,8 +514,12 @@
forwardMessage(replyTo, msg);
// Somehow make the response empty, or create a new empty
response
msgContext.setResponseMessage(null);
+ } else {
+ resHeaders.toEnvelope(msg.getSOAPEnvelope(), this.actor);
}
}
+ } else {
+ resHeaders.toEnvelope(msg.getSOAPEnvelope(), this.actor);
}
}
@@ -521,16 +531,16 @@
AddressingHeaders headers = null;
MessageContext msgContext = msg.getMessageContext();
if (msgContext != null) {
- headers = (AddressingHeaders)
msgContext.getProperty(Constants.ENV_ADDRESSING_RESPONSE_HEADERS);
+ headers = (AddressingHeaders) msgContext.getProperty(
+ Constants.ENV_ADDRESSING_RESPONSE_HEADERS);
}
if (headers == null)
{
headers = new AddressingHeaders();
+ headers.setTo(address);
+ headers.setReferenceProperties(epr.getProperties());
+ headers.setReferenceParameters(epr.getParameters());
}
-
- headers.setTo(address);
- headers.setReferenceProperties(epr.getProperties());
- headers.setReferenceParameters(epr.getParameters());
Service service = getService(msgContext);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]