You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ga...@apache.org on 2004/11/08 19:26:21 UTC
cvs commit: ws-fx/addressing/src/org/apache/axis/message/addressing/tools/wsdl JavaAddressingServiceImplWriter.java
gawor 2004/11/08 10:26:21
Modified: addressing/src/org/apache/axis/message/addressing
Constants.java
addressing/src/org/apache/axis/message/addressing/handler
AddressingHandler.java
addressing/src/org/apache/axis/message/addressing/tools/wsdl
JavaAddressingServiceImplWriter.java
Log:
changed how the endpoint information is passed internally from the generated stub to the hander. fixes a problem where certain information would be reused for all operations/calls on the same stub
Revision Changes Path
1.10 +19 -10 ws-fx/addressing/src/org/apache/axis/message/addressing/Constants.java
Index: Constants.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/axis/message/addressing/Constants.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- Constants.java 16 Oct 2004 18:27:46 -0000 1.9
+++ Constants.java 8 Nov 2004 18:26:21 -0000 1.10
@@ -176,44 +176,53 @@
public static final QName QNAME_RESPONSE;
/**
+ * Internal property for passing some WSA headers from
+ * the generated Stub class to the handlers.
+ */
+ public static final String ENV_ADDRESSING_SHARED_HEADERS =
+ "org.apache.axis.message.addressing.SHARED_HEADERS";
+
+ /**
* Field ENV_ADDRESSING_REQUEST_HEADERS
*/
public static final String ENV_ADDRESSING_REQUEST_HEADERS =
- "org.apache.axis.message.addressing.REQUEST.HEADERS";
+ "org.apache.axis.message.addressing.REQUEST.HEADERS";
/**
* Field ENV_ADDRESSING_RESPONSE_HEADERS
*/
public static final String ENV_ADDRESSING_RESPONSE_HEADERS =
- "org.apache.axis.message.addressing.RESPONSE.HEADERS";
+ "org.apache.axis.message.addressing.RESPONSE.HEADERS";
/**
* Field ENV_ADDRESSING_FROM_URI
*/
public static final String ENV_ADDRESSING_FROM_URI =
- "addressing.from.URI";
+ "addressing.from.URI";
/**
* Field ENV_ADDRESSING_REPLYTO_URI
*/
public static final String ENV_ADDRESSING_REPLYTO_URI =
- "addressing.replyTo.URI";
-
+ "addressing.replyTo.URI";
+
/**
* Field ENV_ADDRESSING_FAULTTO_URI
*/
public static final String ENV_ADDRESSING_FAULTTO_URI =
- "addressing.faultTo.URI";
-
+ "addressing.faultTo.URI";
+
/**
* SOAP message context prop that expects a value of "true" or "false".
*/
- public static final String ENV_ADDRESSING_SET_MUST_UNDERSTAND = "addressing.setMustUnderstand";
-
+ public static final String ENV_ADDRESSING_SET_MUST_UNDERSTAND =
+ "addressing.setMustUnderstand";
+
/**
* SOAP message context prop that expects a value of "true" or "false".
*/
- public static final String ENV_ADDRESSING_SEND_REPLYTO = "addressing.sendReplyTo";
+ public static final String ENV_ADDRESSING_SEND_REPLYTO =
+ "addressing.sendReplyTo";
/**
* Field QNAME_ACTION
1.27 +41 -23 ws-fx/addressing/src/org/apache/axis/message/addressing/handler/AddressingHandler.java
Index: AddressingHandler.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/axis/message/addressing/handler/AddressingHandler.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- AddressingHandler.java 1 Aug 2004 18:37:49 -0000 1.26
+++ AddressingHandler.java 8 Nov 2004 18:26:21 -0000 1.27
@@ -207,23 +207,36 @@
protected void processClientRequest(MessageContext msgContext,
boolean setMustUnderstand)
throws Exception {
- AddressingHeaders headers =
+
+ AddressingHeaders sharedHeaders =
(AddressingHeaders) msgContext.getProperty(
- Constants.ENV_ADDRESSING_REQUEST_HEADERS
+ Constants.ENV_ADDRESSING_SHARED_HEADERS
);
- if (headers == null) {
- headers = new AddressingHeaders();
- }
+
+ AddressingHeaders headers =
+ AddressingUtils.getRequestHeaders(msgContext);
headers.setSetMustUnderstand(setMustUnderstand);
+ // set MessageID
if (headers.getMessageID() == null) {
- MessageID id = new MessageID(new URI("uuid:" + uuidGen.nextUUID()));
+ MessageID id =
+ new MessageID(new URI("uuid:" + uuidGen.nextUUID()));
headers.setMessageID(id);
}
- if (headers.getTo() == null) {
- headers.setTo(new To(msgContext.getStrProp(MessageContext.TRANS_URL)));
+
+ // set To
+ To to = headers.getTo();
+ if (to == null) {
+ if (sharedHeaders != null) {
+ // To is always set in shared headers
+ headers.setTo(sharedHeaders.getTo());
+ } else {
+ headers.setTo(new To(msgContext.getStrProp(MessageContext.TRANS_URL)));
+ }
}
+
+ // set Action
String action = msgContext.getSOAPActionURI();
if (action != null) {
headers.setAction(new Action(new URI(action)));
@@ -233,39 +246,44 @@
msgContext.setSOAPActionURI(headers.getAction().toString());
}
+ // set From
if (headers.getFrom() == null) {
- if (msgContext
- .containsProperty(Constants.ENV_ADDRESSING_FROM_URI)) {
- headers.setFrom(new EndpointReference(msgContext
- .getStrProp(Constants.ENV_ADDRESSING_FROM_URI)));
+ String from =
+ msgContext.getStrProp(Constants.ENV_ADDRESSING_FROM_URI);
+ if (from != null) {
+ headers.setFrom(new EndpointReference(from));
} else {
headers.setFrom(new EndpointReference(
- Constants.NS_URI_ANONYMOUS));
+ Constants.NS_URI_ANONYMOUS));
}
}
+ // set ReplyTo
if (msgContext.isPropertyTrue(Constants.ENV_ADDRESSING_SEND_REPLYTO)) {
if (headers.getReplyTo() == null) {
- if (msgContext
- .containsProperty(Constants.ENV_ADDRESSING_REPLYTO_URI)) {
- headers.setReplyTo(new EndpointReference(msgContext
- .getStrProp(Constants.ENV_ADDRESSING_REPLYTO_URI)));
+ String replyTo = msgContext.getStrProp(Constants.ENV_ADDRESSING_REPLYTO_URI);
+ if (replyTo != null) {
+ headers.setReplyTo(new EndpointReference(replyTo));
} else {
headers.setReplyTo(headers.getFrom());
}
-
}
}
- if (headers.getFaultTo() == null && msgContext
- .containsProperty(Constants.ENV_ADDRESSING_FAULTTO_URI)) {
- headers.setFaultTo(new EndpointReference(msgContext
- .getStrProp(Constants.ENV_ADDRESSING_FAULTTO_URI)));
+ // set FaultTo
+ if (headers.getFaultTo() == null) {
+ String faultTo =
+ msgContext.getStrProp(Constants.ENV_ADDRESSING_FAULTTO_URI);
+ if (faultTo != null) {
+ headers.setFaultTo(new EndpointReference(faultTo));
+ }
}
+ if (sharedHeaders != null) {
+ headers.setReferenceProperties(sharedHeaders.getReferenceProperties());
+ }
Message msg = msgContext.getRequestMessage();
headers.toEnvelope(msg.getSOAPEnvelope(), this.actor);
- msgContext.setProperty(Constants.ENV_ADDRESSING_REQUEST_HEADERS, headers);
}
/**
1.4 +1 -1 ws-fx/addressing/src/org/apache/axis/message/addressing/tools/wsdl/JavaAddressingServiceImplWriter.java
Index: JavaAddressingServiceImplWriter.java
===================================================================
RCS file: /home/cvs/ws-fx/addressing/src/org/apache/axis/message/addressing/tools/wsdl/JavaAddressingServiceImplWriter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JavaAddressingServiceImplWriter.java 28 Jul 2004 04:05:05 -0000 1.3
+++ JavaAddressingServiceImplWriter.java 8 Nov 2004 18:26:21 -0000 1.4
@@ -161,7 +161,7 @@
pw.println("\t\t\tnew org.apache.axis.message.addressing.AddressingHeaders();");
pw.println("\t\theaders.setTo(address);");
pw.println("\t\theaders.setReferenceProperties(reference.getProperties());");
- pw.println("\t\t((javax.xml.rpc.Stub)_stub)._setProperty(org.apache.axis.message.addressing.Constants.ENV_ADDRESSING_REQUEST_HEADERS, headers);");
+ pw.println("\t\t((javax.xml.rpc.Stub)_stub)._setProperty(org.apache.axis.message.addressing.Constants.ENV_ADDRESSING_SHARED_HEADERS, headers);");
pw.println("\t}");
pw.println("\treturn _stub;");
pw.println(" }");