User Guide

Table Of Contents
886 Chapter 36: Using Web Services
Referencing a remote web service within your ColdFusion application is called consuming web
services. Since web services adhere to a standard interface regardless of implementation
technology, you can consume a web service implemented as part of a ColdFusion application, or
as part of a .NET or Java application.
You can also create your own web services and make them available to others for remote access,
called publishing web service. Applications that consume your web service can be implemented in
ColdFusion MX or by any application that recognizes the web service standard.
Accessing a web service
In its simplest form, an access to a web service is similar to a function call. Instead of the function
call referencing a library on your computer, it references remote functionality over the Internet.
One feature of web services is that they are self-describing. That means a person who makes a web
service available also publishes a description of the API to the web service as a Web Services
Description Language (WSDL) file.
A WSDL file is an XML-formatted document that includes information about the web service,
including the following information:
Operations that you can call on the web service
Input parameters that you pass to each operation
Return values from an operation
Consuming web services typically is a two-step process:
1.
Parse the WSDL file of the web service to determine its interface.
A web service makes its associated WSDL file available over the Internet. You must know the
URL of the WSDL file defining the service. For example, you can access the WSDL file for the
TemperatureService web service at the following URL:
www.xmethods.net/sd/2001/TemperatureService.wsdl
For an overview of WSDL syntax, see “Working with WSDL files” on page 888
2.
Make a request to the web service.
The following example invokes an operation on the Temperature web service to retrieve the
temperature in zip code 55987:
<cfinvoke
webservice="http://www.xmethods.net/sd/2001/TemperatureService.wsdl"
method="getTemp"
returnvariable="aTemp">
<cfinvokeargument name="zipcode" value="55987"/>
</cfinvoke>
<cfoutput>The temperature at zip code 55987 is #aTemp#</cfoutput>
For more information on consuming web services, see “Consuming web services” on page 891.