You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ch...@apache.org on 2005/05/16 12:49:07 UTC

svn commit: r170356 - /webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl

Author: chathura
Date: Mon May 16 03:49:05 2005
New Revision: 170356

URL: http://svn.apache.org/viewcvs?rev=170356&view=rev
Log:
mechanism is added for the user to pass in ClientData to the Generated Callback class. This clientData can be used for the user to pass in any object reference so once the NonBlocking Web service is completed and the callback is called by the Axis(Actually the Call) user can access the objects he passed at the time of the instantiation of the Callback

Modified:
    webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl

Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl?rev=170356&r1=170355&r2=170356&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl (original)
+++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl Mon May 16 03:49:05 2005
@@ -8,11 +8,26 @@
      */
 
     public class <xsl:value-of select="@name"/>{
+    
+    
+    
+	private Object clientData;
+		
+		
+	/**
+	* User can pass in any object that needs to be accessed once the NonBlocking 
+	* Web service call is finished and appropreate method of this CallBack is called.
+	* @param clientData Object mechanism by which the user can pass in user data
+	* that will be avilable at the time this callback is called.
+	*/
+	public <xsl:value-of select="@name"/>(Object clientData){
+		this.clientData = clientData;
+	}
 
 
 	<xsl:for-each select="method">
          /**
-         * auto generated Axis2 call back method
+         * auto generated Axis2 call back method for <xsl:value-of select="@name"/> method
          *
          */
         public void receiveResult<xsl:value-of select="@name"/>(org.apache.axis.clientapi.AsyncResult result) {



Re: svn commit: r170356 - /webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
Guys, you have to be careful in your XSLT templates to sanitize the
names. That is, some XML name characters are not valid Java name
characters (e.g., "."). WSDL authors may use Java/C/C# etc. invalid name
chars .. so you need to send all the name strings thru a language
specific filter.

This can be done very easily by calling a Java extension function from
Xalan (I worked on this many years ago :-)). 

Sanjiva.

On Mon, 2005-05-16 at 10:49 +0000, chathura@apache.org wrote:
> Author: chathura
> Date: Mon May 16 03:49:05 2005
> New Revision: 170356
> 
> URL: http://svn.apache.org/viewcvs?rev=170356&view=rev
> Log:
> mechanism is added for the user to pass in ClientData to the Generated Callback class. This clientData can be used for the user to pass in any object reference so once the NonBlocking Web service is completed and the callback is called by the Axis(Actually the Call) user can access the objects he passed at the time of the instantiation of the Callback
> 
> Modified:
>     webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl
> 
> Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl
> URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl?rev=170356&r1=170355&r2=170356&view=diff
> ==============================================================================
> --- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl (original)
> +++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl Mon May 16 03:49:05 2005
> @@ -8,11 +8,26 @@
>       */
>  
>      public class <xsl:value-of select="@name"/>{
> +    
> +    
> +    
> +	private Object clientData;
> +		
> +		
> +	/**
> +	* User can pass in any object that needs to be accessed once the NonBlocking 
> +	* Web service call is finished and appropreate method of this CallBack is called.
> +	* @param clientData Object mechanism by which the user can pass in user data
> +	* that will be avilable at the time this callback is called.
> +	*/
> +	public <xsl:value-of select="@name"/>(Object clientData){
> +		this.clientData = clientData;
> +	}
>  
> 
>  	<xsl:for-each select="method">
>           /**
> -         * auto generated Axis2 call back method
> +         * auto generated Axis2 call back method for <xsl:value-of select="@name"/> method
>           *
>           */
>          public void receiveResult<xsl:value-of select="@name"/>(org.apache.axis.clientapi.AsyncResult result) {
> 
> 
> 
> 


Re: svn commit: r170356 - /webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
Guys, you have to be careful in your XSLT templates to sanitize the
names. That is, some XML name characters are not valid Java name
characters (e.g., "."). WSDL authors may use Java/C/C# etc. invalid name
chars .. so you need to send all the name strings thru a language
specific filter.

This can be done very easily by calling a Java extension function from
Xalan (I worked on this many years ago :-)). 

Sanjiva.

On Mon, 2005-05-16 at 10:49 +0000, chathura@apache.org wrote:
> Author: chathura
> Date: Mon May 16 03:49:05 2005
> New Revision: 170356
> 
> URL: http://svn.apache.org/viewcvs?rev=170356&view=rev
> Log:
> mechanism is added for the user to pass in ClientData to the Generated Callback class. This clientData can be used for the user to pass in any object reference so once the NonBlocking Web service is completed and the callback is called by the Axis(Actually the Call) user can access the objects he passed at the time of the instantiation of the Callback
> 
> Modified:
>     webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl
> 
> Modified: webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl
> URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl?rev=170356&r1=170355&r2=170356&view=diff
> ==============================================================================
> --- webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl (original)
> +++ webservices/axis/trunk/java/modules/wsdl/src/org/apache/axis/wsdl/template/java/CallbackHandlerTemplate.xsl Mon May 16 03:49:05 2005
> @@ -8,11 +8,26 @@
>       */
>  
>      public class <xsl:value-of select="@name"/>{
> +    
> +    
> +    
> +	private Object clientData;
> +		
> +		
> +	/**
> +	* User can pass in any object that needs to be accessed once the NonBlocking 
> +	* Web service call is finished and appropreate method of this CallBack is called.
> +	* @param clientData Object mechanism by which the user can pass in user data
> +	* that will be avilable at the time this callback is called.
> +	*/
> +	public <xsl:value-of select="@name"/>(Object clientData){
> +		this.clientData = clientData;
> +	}
>  
> 
>  	<xsl:for-each select="method">
>           /**
> -         * auto generated Axis2 call back method
> +         * auto generated Axis2 call back method for <xsl:value-of select="@name"/> method
>           *
>           */
>          public void receiveResult<xsl:value-of select="@name"/>(org.apache.axis.clientapi.AsyncResult result) {
> 
> 
> 
>