Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Understanding Web Services

Participant ,
May 20, 2014 May 20, 2014
  1. I'm trying to understand when I would use cfinvoke vs cfhttp to consume a web service.  Is it just two ways to skin a cat?
  2. Does the extension ?wsdl have to be added to the url, or can it be left off?  I consume some remote CF services that work without it.  Would the wsdl only be used with a remote component if it is to be registered as a component in cfadmin?
  3. Do I only need to register web services in cf admin when I don't want to use the full url in the call to the web service?

I appreciate any clarification provided.

280
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 21, 2014 May 21, 2014
LATEST

Balddog4 wrote:

  1. I'm trying to understand when I would use cfinvoke vs cfhttp to consume a web service.  Is it just two ways to skin a cat?

Yes, they are just two of the ways to consume a web service. Which tag you choose will depend on its qualities, its set of attributes and its arguments. For example, cfhttp is known to use relatively much CPU resources. Nevertheless, cfhttpparam arguments are suitable for making SOAP requests.


2. Does the extension ?wsdl have to be added to the url, or can it be left off?  I consume some remote CF services that work without it.  Would the wsdl only be used with a remote component if it is to be registered as a component in cfadmin?

3. Do I only need to register web services in cf admin when I don't want to use the full url in the call to the web service?

Note that the WSDL is not yet the web service. It is an interface, analogous to a product catalogue, that gives the web service consumer information about the methods, input parameters and return values of the web service.

The notation someComponent.cfc?wsdl at the end of a URL is a Coldfusion convention. The URL represents the location of the WSDL file that Coldfusion generates from someComponent.cfc. The CFC is the container of the web service proper. It contains the operations which the consumer requests, and which deliver the business service.

Suppose then that you open the file http://my.domain.com/someComponent.cfc?wsdl, and save the WSDL content as the file myWebService, in the same directory as the CFC. Then you could parse the WSDL of the web service by means of the URL http://my.domain.com/myWebService, which has no wsdl extension

Registering a web service in the Administrator is simply a means of giving its WSDL a short name. Suppose you give http://my.domain.com/someComponent.cfc?wsdl the name 'myWS'. It will enable you to write code such as <cfset wsObj = createObject("webservice", "myWS")>, in place of <cfset wsObj = createObject("webservice", "http://my.domain.com/someComponent.cfc?wsdl")>.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources