ColdFusion components (CFCs) encapsulate application
functionality and provide a standard interface for client access
to that functionality. A component typically contains one or more
functions defined by the cffunction tag.
For
example, the following component contains a single function:
<cfcomponent>
<cffunction name="echoString" returnType="string" output="no">
<cfargument name="input" type="string">
<cfreturn #arguments.input#>
</cffunction>
</cfcomponent>
The function, named echoString, echoes back any string passed
to it. To publish the function as a web service, modify the function
definition to add the access attribute and specify
remote, as the following example shows:
<cffunction name="echoString" returnType="string" output="no" access="remote">
By defining the function as remote,
ColdFusion includes the function in the WSDL file. Only those functions
marked as remote are accessible as a web service.
The following list defines the requirements for how to create
web services for publication:
The value of the access attribute of
the cffunction tag must be remote.
The cffunction tag must include the returnType attribute
to specify a return type.
The output attribute of the cffunction tag
must be set to No because ColdFusion converts all
output to XML to return it to the consumer.
The attribute setting required="false" for
the cfargument tag is ignored. ColdFusion considers
all parameters as required.