views:

573

answers:

3

We are trying to consume web services with Coldfusion.

I am able to interact with the web service for the most part, however, there is one service where ColdFusion is throwing a "Parameters Could Not Be Found" error because the response message in the WSDL for this particular service is a blank parent class. I need to add the specific parameters of corresponding subclass that inherits the class pointed to in the service of the WSDL.

Is there a way to tell ColdFusion to use a certain class definition for the parameters.

Or, is there a ColdFusion tool for showing the acceptable parameter formats for a given wsdl?

EDIT

Or, is there a way to hook into the ColdFusion code that does the parsing/conversion of the parameter structure from the wsdl.

My guess is that even finding third party tool will not help much because I need to know what Coldfusion is going to do not what the data SHOULD be. I know what is should be.

+1  A: 

You can use your own WSDL file, you don't have to use the one generated by ColdFusion, just generate one, customize it and point people to your custom WSDL file instead of the YourComponent.cfc?WSDL url.

Pete Freitag
A: 

Or, is there a ColdFusion tool for showing the acceptable parameter formats for a given wsdl?

Please see this SO question and answer

Maybe my code samples can help you.

Sergii
Thanks. I tried your code and it seems to be choking on the fact that the parameters are complex rather than simple.
Tom Hubbard
Well, it can be easily extended to handle any type using isObject/isStruct/isValid etc.
Sergii
+1  A: 

This article on consuming complex web services may help:

http://tjordahl.blogspot.com/2008/04/reprint-consuming-web-service-complex.html

Also note that if you have a copy of Dreamweaver laying around, it has a tool for inspecting WSDL and generating the required ColdFusion code.

Rob Brooks-Bilson