You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ja...@apache.org on 2005/06/06 10:51:13 UTC

svn commit: r180265 - in /webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi: Call.java CallbackReceiver.java InOutMEPClient.java

Author: jaliya
Date: Mon Jun  6 01:51:12 2005
New Revision: 180265

URL: http://svn.apache.org/viewcvs?rev=180265&view=rev
Log:
Fix a simple prob with callbacks. Now the Client can wait by checkig isComplete method of the Callback class

Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/CallbackReceiver.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java?rev=180265&r1=180264&r2=180265&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/Call.java Mon Jun  6 01:51:12 2005
@@ -36,6 +36,7 @@
  */
 public class Call extends InOutMEPClient {
     private HashMap properties;
+    private static OperationDescription opreationTemplate;
 
     /**
      * this is a convenience Class, here the Call will assume a Annoynmous Service.
@@ -91,6 +92,10 @@
             serviceContext.getServiceConfig().getOperation(new QName(axisop));
         if (axisConfig == null) {
             axisConfig = new OperationDescription(new QName(axisop));
+            axisConfig.setRemainingPhasesInFlow(opreationTemplate.getRemainingPhasesInFlow());
+            axisConfig.setPhasesOutFlow(opreationTemplate.getPhasesOutFlow());
+            axisConfig.setPhasesInFaultFlow(opreationTemplate.getPhasesInFaultFlow());
+            axisConfig.setPhasesOutFaultFlow(opreationTemplate.getPhasesOutFaultFlow());
             serviceContext.getServiceConfig().addOperation(axisConfig);
         }
         MessageContext msgctx = prepareTheSystem(toSend);
@@ -115,6 +120,8 @@
         //create new service
         QName assumedServiceName = new QName("AnonnoymousService");
         ServiceDescription axisService = new ServiceDescription(assumedServiceName);
+        opreationTemplate = new OperationDescription(new QName("TemplateOperatin"));
+        axisService.addOperation(opreationTemplate);
         sysContext.getAxisConfiguration().addService(axisService);
         ServiceContext service = sysContext.createServiceContext(assumedServiceName);
         return service;

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/CallbackReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/CallbackReceiver.java?rev=180265&r1=180264&r2=180265&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/CallbackReceiver.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/CallbackReceiver.java Mon Jun  6 01:51:12 2005
@@ -39,6 +39,7 @@
 
         if (callback != null) {
             callback.onComplete(result);
+            callback.setComplete(true);
         }else{
             throw new AxisFault("The Callback realtes to MessageID "+ messageID + " is not found");
         }

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java?rev=180265&r1=180264&r2=180265&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/InOutMEPClient.java Mon Jun  6 01:51:12 2005
@@ -215,10 +215,8 @@
                             SOAPEnvelope resenvelope = response.getEnvelope();
                             AsyncResult asyncResult = new AsyncResult();
                             asyncResult.setResult(resenvelope);
-                            synchronized(callback){
                             callback.onComplete(asyncResult);
                             callback.setComplete(true);
-                            }
                         } catch (AxisFault e) {
                             callback.reportError(e);
                         }