You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by ru...@apache.org on 2007/10/30 03:20:32 UTC
svn commit: r589938 - in
/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2:
AsyncCallback.java Axis2FlexibleMEPClient.java DynamicAxisOperation.java
SynapseCallbackReceiver.java
Author: ruwan
Date: Mon Oct 29 19:20:31 2007
New Revision: 589938
URL: http://svn.apache.org/viewvc?rev=589938&view=rev
Log:
We were using a deprecated class of Axis2 which is Callback and the option that they have provided now is the AxisCallback. I have removed the deprecated stuff from our code and incoperated the AxisCallback instead of Callback (I have tested about 12 samples which I thought is going to be affected if there is something wrong, they were working fine :D)
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AsyncCallback.java Mon Oct 29 19:20:31 2007
@@ -21,6 +21,7 @@
import org.apache.axis2.client.async.Callback;
import org.apache.axis2.client.async.AsyncResult;
+import org.apache.axis2.client.async.AxisCallback;
import org.apache.synapse.SynapseConstants;
import org.apache.synapse.MessageContext;
@@ -28,7 +29,7 @@
* This class only "holds" the Synapse out message context for the Synapse callback message
* receiver when a response is received or error is encountered
*/
-public class AsyncCallback extends Callback {
+public class AsyncCallback implements AxisCallback {
/** The corresponding Synapse outgoing message context this instance is holding onto */
MessageContext synapseOutMsgCtx = null;
@@ -43,9 +44,13 @@
this.synapseOutMsgCtx = synapseOutMsgCtx;
}
- public void onComplete(AsyncResult result) {}
+ public void onMessage(org.apache.axis2.context.MessageContext messageContext) {}
+
+ public void onFault(org.apache.axis2.context.MessageContext messageContext) {}
public void onError(Exception e) {}
+
+ public void onComplete() {}
public org.apache.synapse.MessageContext getSynapseOutMsgCtx() {
return synapseOutMsgCtx;
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2FlexibleMEPClient.java Mon Oct 29 19:20:31 2007
@@ -19,20 +19,14 @@
package org.apache.synapse.core.axis2;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
+import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNamespace;
-import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.soap.SOAPEnvelope;
+import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPHeader;
import org.apache.axiom.soap.SOAPHeaderBlock;
-import org.apache.axiom.soap.SOAPFactory;
import org.apache.axis2.AxisFault;
-import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.OperationClient;
@@ -45,15 +39,19 @@
import org.apache.axis2.description.AxisService;
import org.apache.axis2.description.AxisServiceGroup;
import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.synapse.util.MessageHelper;
+import org.apache.axis2.wsdl.WSDLConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyEngine;
+import org.apache.sandesha2.client.SandeshaClientConstants;
import org.apache.synapse.SynapseConstants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.endpoints.utils.EndpointDefinition;
-import org.apache.sandesha2.client.SandeshaClientConstants;
+import org.apache.synapse.util.MessageHelper;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
/**
* This is a simple client that handles both in only and in out
@@ -110,7 +108,8 @@
}
// save the original message context wihout altering it, so we can tie the response
- MessageContext originalInMsgCtx = ((Axis2MessageContext) synapseOutMessageContext).getAxis2MessageContext();
+ MessageContext originalInMsgCtx
+ = ((Axis2MessageContext) synapseOutMessageContext).getAxis2MessageContext();
// create a new MessageContext to be sent out as this should not corrupt the original
// we need to create the response to the original message later on
@@ -128,7 +127,7 @@
if (axisOutMsgCtx.getSoapAction() == null && axisOutMsgCtx.getWSAAction() != null) {
axisOutMsgCtx.setSoapAction(axisOutMsgCtx.getWSAAction());
}
- if(axisOutMsgCtx.isSOAP11() != true) {
+ if(!axisOutMsgCtx.isSOAP11()) {
SOAPUtils.convertSOAP12toSOAP11(axisOutMsgCtx);
}
@@ -137,7 +136,7 @@
if (axisOutMsgCtx.getSoapAction() == null && axisOutMsgCtx.getWSAAction() != null) {
axisOutMsgCtx.setSoapAction(axisOutMsgCtx.getWSAAction());
}
- if(axisOutMsgCtx.isSOAP11() == true) {
+ if(axisOutMsgCtx.isSOAP11()) {
SOAPUtils.convertSOAP11toSOAP12(axisOutMsgCtx);
}
@@ -234,11 +233,12 @@
if (!outOnlyMessage) {
// always set a callback as we decide if the send it blocking or non blocking within
// the MEP client. This does not cause an overhead, as we simply create a 'holder'
- // object with a reference to the outgoing synapse message context synapseOutMessageContext
+ // object with a reference to the outgoing synapse message context
+ // synapseOutMessageContext
AsyncCallback callback = new AsyncCallback(synapseOutMessageContext);
if (endpoint != null) {
- // set the timeout time and the timeout action to the callback, so that the TimeoutHandler
- // can detect timed out callbacks and take approprite action.
+ // set the timeout time and the timeout action to the callback, so that the
+ // TimeoutHandler can detect timed out callbacks and take approprite action.
callback.setTimeOutOn(System.currentTimeMillis() + endpoint.getTimeoutDuration());
callback.setTimeOutAction(endpoint.getTimeoutAction());
} else {
@@ -263,6 +263,9 @@
newMC.setEnvelope(ori.getEnvelope());
removeAddressingHeaders(newMC);
+ newMC.setProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS,
+ ori.getProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS));
+
return newMC;
}
@@ -342,22 +345,20 @@
* @param headerInformation headers to be removed
*/
private static void detachAddressingInformation(ArrayList headerInformation) {
- Iterator iterator = headerInformation.iterator();
- while (iterator.hasNext()) {
- Object o = iterator.next();
- if (o instanceof SOAPHeaderBlock) {
- SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) o;
- headerBlock.detach();
- } else if (o instanceof OMElement) {
- // work around for a known addressing bug which sends non SOAPHeaderBlock objects
- OMElement om = (OMElement) o;
- OMNamespace ns = om.getNamespace();
- if (ns != null &&
- (AddressingConstants.Submission.WSA_NAMESPACE.equals(ns.getNamespaceURI())
- || AddressingConstants.Final.WSA_NAMESPACE.equals(ns.getNamespaceURI()))) {
- om.detach();
- }
- }
- }
- }
+ for (Object o : headerInformation) {
+ if (o instanceof SOAPHeaderBlock) {
+ SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) o;
+ headerBlock.detach();
+ } else if (o instanceof OMElement) {
+ // work around for a known addressing bug which sends non SOAPHeaderBlock objects
+ OMElement om = (OMElement) o;
+ OMNamespace ns = om.getNamespace();
+ if (ns != null && (
+ AddressingConstants.Submission.WSA_NAMESPACE.equals(ns.getNamespaceURI()) ||
+ AddressingConstants.Final.WSA_NAMESPACE.equals(ns.getNamespaceURI()))) {
+ om.detach();
+ }
+ }
+ }
+ }
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/DynamicAxisOperation.java Mon Oct 29 19:20:31 2007
@@ -172,7 +172,7 @@
SynapseCallbackReceiver callbackReceiver =
(SynapseCallbackReceiver) axisOp.getMessageReceiver();
- callbackReceiver.addCallback(outMsgCtx.getMessageID(), callback);
+ callbackReceiver.addCallback(outMsgCtx.getMessageID(), axisCallback);
send(outMsgCtx);
}
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?rev=589938&r1=589937&r2=589938&view=diff
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Mon Oct 29 19:20:31 2007
@@ -26,20 +26,19 @@
import org.apache.axis2.addressing.AddressingConstants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.addressing.RelatesTo;
-import org.apache.axis2.client.async.Callback;
import org.apache.axis2.client.Options;
+import org.apache.axis2.client.async.AxisCallback;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.engine.MessageReceiver;
-import org.apache.synapse.transport.nhttp.NhttpConstants;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.sandesha2.client.SandeshaClientConstants;
-import org.apache.synapse.SynapseConstants;
import org.apache.synapse.FaultHandler;
+import org.apache.synapse.SynapseConstants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.mediators.eip.EIPUtils;
+import org.apache.synapse.transport.nhttp.NhttpConstants;
import java.util.*;
@@ -82,7 +81,7 @@
}
- public void addCallback(String MsgID, Callback callback) {
+ public void addCallback(String MsgID, AxisCallback callback) {
callbackStore.put(MsgID, callback);
}
@@ -112,7 +111,7 @@
}
if (messageID != null) {
- Callback callback = (Callback) callbackStore.remove(messageID);
+ AxisCallback callback = (AxisCallback) callbackStore.remove(messageID);
RelatesTo[] relates = messageCtx.getRelationships();
if (relates != null && relates.length > 1) {
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org