This content has been marked as final. Show 8 replies
Your question lacks the needed details.
Anyway, the attached example uses cfinvoke to make a soap call to the headerservice.cfc from the docs.
cfinvokeargument uses the argument name to know which arguments go where. The name must match the WSDL.
I wish I could give more details. Heck, I would post the entire WSDL and soap call, but I am under NDA with the company that I am implementing it from. I am also in between a rock and hard place, because they DO NOT have any coldfusion implementation of their product and know nothing about the language. So, I am SOL when I am having problems with consuming their web service.
With that being said, I have used CFINVOKE and CFinvoke arguement. Odd thing is that when I do and pass the correct arguments, it tells me that the method doesn't exist. Now, I have even heard that you must include all optional arguments with some web services. I tried that too, still it tells me the method I chose doesn't exist. Very frustrating.
Thats why I thought there might be a way to use the entire soap envelope against the WSDL to produce a result other than "method doesn't exist".
Well that makes it pretty hard to help you here.
One thought... I have never seen it but are some of the functions over loaded? (Same function name more than once but with different arguments?)
Sent you a private message on this (PM's don't trigger emails, posts here do).
Sent you one back!
Well that's good news.
Unfortunately, there doesn't seem to be much we can post here to help anyone else with SOAP issues.
Well I can think of couple things to help people here.
1. Check that your WSDL (If housed on your server) can communicate properly with the web service.
2. If cfinvoke doesn't work, you can always send the entire SOAP envelope to the WSDL using CFHTTP.
3. Some WSDL's are funny. Some are straight forward. Check to make sure you don't need any weird SOAP headers. Some WSDL's require you to pass ALL arguments, even optional ones, for that you need to use CFMX7+ and use the omit="yes" parameter of cfinvokeargument.
IN short its a big giant puzzle that you have to fit the pieces together, and sometimes it takes a lot of experimentation to get right.
Hi & thanks for this post, I'm trying to send a SOAP envelope using CFHTTP as suggested.
Am I heading in the right direction? I've doubled up any quote marks in the XML.
If I output the result directly it displays a description of what the method does, not the response from the web service.
Using CFDUMP displays the WSDL file.
Any advice much appreciated, thanks.