Listing 1


<!---
BabelFish.cfm
Description: ColdFusion BabelFish client.
Requires: ColdFusion MX
Usage notes: Just run it.
ben@forta.com
--->

<!--- Was a form submitted? --->
<CFIF IsDefined("FORM.string")>

<!--- Yes, invoke service --->
<CFINVOKE WEBSERVICE=
"http://www.xmethods.net/sd/2001/BabelFishService.wsdl"
METHOD="babelFish" RETURNVARIABLE="aString">
<CFINVOKEARGUMENT NAME="translationmode"
VALUE="#FORM.lang#"/>
<CFINVOKEARGUMENT NAME="sourcedata"
VALUE="#FORM.string#"/>
</CFINVOKE>

<!--- Display results --->
<CFOUTPUT>
<STRONG>Text:</STRONG> #FORM.string#<BR>
<STRONG>Translation:</STRONG> #astring#<P>
</CFOUTPUT>

</CFIF>

<!--- Form --->
<CFOUTPUT>
Enter some text and select the language
you'd like it translated into.<P>
<FORM ACTION="#CGI.SCRIPT_NAME#" METHOD="post">
Text: <INPUT TYPE="text" NAME="string">
<SELECT NAME="lang">
<OPTION VALUE="en_fr">French</OPTION>
<OPTION VALUE="en_es">Spanish</OPTION>
<OPTION VALUE="en_de">German</OPTION>
<OPTION VALUE="en_it">Italian</OPTION>
<OPTION VALUE="en_pt">Portuguese</OPTION>
</SELECT>
<BR>
<INPUT TYPE="submit" VALUE="Translate">
</FORM>
</CFOUTPUT>



Listing 2


<!--- Random number component --->
<CFCOMPONENT>

<!--- Get a random number --->
<CFFUNCTION NAME="Get"
RETURNTYPE="numeric"
OUTPUT="no"
ACCESS="remote">
<CFSET Randomize(GetTickCount())>
<CFRETURN Rand()>
</CFFUNCTION>

<!--- Get a random number in a specified range --->
<CFFUNCTION NAME="GetRange"
RETURNTYPE="numeric"
OUTPUT="no"
ACCESS="remote">
<CFARGUMENT NAME="randlo"
TYPE="numeric"
REQUIRED="yes">
<CFARGUMENT NAME="randhi"
TYPE="numeric"
REQUIRED="yes">
<CFSET Randomize(GetTickCount())>
<CFRETURN RandRange(ARGUMENTS.randlo, ARGUMENTS.randhi)>
</CFFUNCTION>

</CFCOMPONENT>



Listing 3


<CFINVOKE WEBSERVICE=
"http://localhost:8500/test/random.cfc?wsdl"
METHOD="get" RETURNVARIABLE="result1">

<CFINVOKE WEBSERVICE=
"http://localhost:8500/test/random.cfc?wsdl"
METHOD="getRange" RETURNVARIABLE="result2">
<CFINVOKEARGUMENT NAME="randlo" VALUE="1"/>
<CFINVOKEARGUMENT NAME="randhi" VALUE="100"/>
</CFINVOKE>

<CFOUTPUT>
Random: #result1#<BR>
Random Range: #result2#<BR>
</CFOUTPUT>