Have you tried SoapUI?  
http://www.eviware.com/soapUI/soapui-products-overview.html 

I’ve used it in the past to troubleshoot exactly these kinds of issues...

From: Clarke Bishop 
Sent: Friday, February 18, 2011 17:33
To: discussion@acfug.org 
Subject: RE: [ACFUG Discuss] Troubleshooting CFHTTP Webservice Call

Changing the Content-Type to text/atom+xml lets me see the xml request. Yea!

 

However, the docs for the RESTful web service say:

Your request Content-Type header must be application/atom+xml and your request 
method must be POST.

 

So, I’m still not much closer to getting this to work. I did try text/atom+xml 
anyway, but no luck.

 

Right now, I’m asking the server guys for some help, and I’ll keep you posted.

 

   Clarke

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Charlie Arehart
Sent: Friday, February 18, 2011 5:01 PM
To: discussion@acfug.org
Subject: RE: [ACFUG Discuss] Troubleshooting CFHTTP Webservice Call

 

That’s an interesting observation, Steve. Looking forward to the news there.

 

/charlie

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Steve Ross
Sent: Friday, February 18, 2011 3:40 PM
To: discussion@acfug.org
Subject: Re: [ACFUG Discuss] Troubleshooting CFHTTP Webservice Call

 

the prefix "appliation" coldfusion is using to determine that the content of 
your request should be binary encoded. If you are posting xml it should 
probably be text/atom+xml instead of "appliation/atom+xml"

 

-Steve

On Fri, Feb 18, 2011 at 3:34 PM, Steve Ross <nowhid...@gmail.com> wrote:

Clarke I misunderstood... I'm seeing the same thing on my end regardless of the 
type... only until i removed this param did it send the data as xml:

 

<cfhttpparam type="header" name="Content-Type" value="application/atom+xml; 
charset=utf-8" />

On Fri, Feb 18, 2011 at 3:20 PM, Steve Ross <nowhid...@gmail.com> wrote:

In your example it would be:

<cfhttpparam type="header" name="xml" value="#payload.Trim()#" encoded="no">

 

On Fri, Feb 18, 2011 at 3:19 PM, Steve Ross <nowhid...@gmail.com> wrote:

Are you sure this param of type "xml" is right?

 

CF ignores that when it is received... I wonder if your receiving service needs 
something like this instead? :

 

               <cfhttpparam type="header" name="xml" value="#foo#" >

 

On Fri, Feb 18, 2011 at 3:07 PM, Steve Ross <nowhid...@gmail.com> wrote:

test cfm:

 

<cffile action = "read" file = 
"#GetDirectoryFromPath(GetCurrentTemplatePath())#test.xml" variable = "foo" 
charset = "utf-8">

<cfhttp method="post" url="http://url.to.your.site.com/test/receiver.cfm";>

               <cfhttpparam type="header" name="Content-Type" 
value="application/atom+xml; charset=utf-8" />

               <cfhttpparam type="header" name="Content-transfer-encoding" 
value="text"/>

               <cfhttpparam type="header" name="Accept" 
value="application/atom+xml">

<cfhttpparam type="Header" name="Accept-Encoding" value="*">

<cfhttpparam type="Header" name="TE" value="deflate;q=0">

               <cfhttpparam type="xml" value="#foo#" encoded="no">

</cfhttp>

 

receiver cfm:

 

<cfsavecontent variable = "thedump">

<cfdump

var="#GetHttpRequestData()#"

label="GetHttpResponseData() Values"

/>

</cfsavecontent>

 

<cffile action = "write" file = 
"#GetDirectoryFromPath(GetCurrentTemplatePath())#/out.html" output = 
"#thedump#" />

 

 

open "out.html" in your browser

 

On Fri, Feb 18, 2011 at 2:37 PM, Clarke Bishop <cbis...@resultantsys.com> wrote:

To better understand how CFHTTP & CFHTTPParam work, I’m trying Steve’s idea to 
just call a local page to see what the header looks like.

 

But the content is showing up as binary like this:

 

Content:HTTP Request Data - binary

606312010910832118101114115105111110613449464834321011109911110010511010361341171161024556346362131060101110116114121321201091081101156134104116116112584747119119119461195146111114103475048485347651161111093462131032326011610511610810162841041051153210511532116104101321091051101051099710832981081111033211211111511632116105116108101604711610511610810162131032323232326097117116104111114621310323232323232326011097109101627411110411032681111016047110971091016213103232323232323260101109971051086210611110411010011110164101120971091121081014699111109604710110997105108621310323232323260479711711610411111462131032323232326011511710910997114121628410410511532105115321161041013210910511010510997108329810811110332112111115116321151171091099711412146604711511710910997114121621310323232323260991111101161011101163211612111210161341041161091083462841041051153210511532116104101321159710911210810132728477763299111110116101110116466047991111101161011101166213103232323232609997116101103111114121321161011141096134116971033211111010134324762131032323232326099971161011031111141213211610111410961341169710332116119111343247621310604710111011611412162

 

I set Content-transfer-encoding=” text” but the data is still binary. I think 
it might be that it’s getting compressed. 

 

Here’s my code:

 

<cfhttp method="post" url="#hsURL#">

                <cfhttpparam type="header" name="Content-Type" 
value="application/atom+xml; charset=utf-8" />

                <cfhttpparam type="header" name="Content-transfer-encoding" 
value="text"/> 

                <cfhttpparam type="header" name="Accept" 
value="application/atom+xml"> 

<cfhttpparam type="Header" name="Accept-Encoding" value="*">

<cfhttpparam type="Header" name="TE" value="deflate;q=0">

                <cfhttpparam type="xml" value="#payload.Trim()#" encoded="no">

</cfhttp>

 

These lines are supposed to turn off compression:

<cfhttpparam type="Header" name="Accept-Encoding" value="*">

<cfhttpparam type="Header" name="TE" value="deflate;q=0">

 

 

I also tried Charlie’s idea of adding the extra header values, but no luck 
there, either.

 

Charlie, you said it … Grrrrrrrrrrrrrrrrrrrrr

 

   Clarke

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Charlie Arehart
Sent: Friday, February 18, 2011 1:47 PM
To: discussion@acfug.org
Subject: RE: [ACFUG Discuss] Troubleshooting CFHTTP Webservice Call

 

And consider also the function gethttprequestdata on that test page.

Beyond that, the CFHTTP tag has proxy attributes. You may be able to configure 
that so they go through Charles or another proxy. Of course, this only works 
based on the assumption that the CF server dong the CFHTTP is indeed on your 
local dev box, as you say it is in your case.

Finally, I have some thoughts I’d gathered up yesterday, but I was really 
opening that perhaps the XML type would solve the problem. 

While perhaps your attempts to “see” what CF is sending (whether with a proxy 
or on a test receiving page of your own), there may still just be issues with 
what you’re trying to call instead, and its expectations.  It’s indeed 
frustrating when trying to understand why a remote server doesn’t like what we 
send, and worse when (as in this case) it seems to complain that we’re sending 
something we would swear we’re not (in your case, it’s saying that you’re 
sending text/html when the header clearly tells it it’s atom). Grr. :-)

 

I’m sure at some point someone will solve it and we’ll all look back smacking 
our foreheads at something we’re not seeing. :-)

But until then, I can only offer a few thoughts from things I’ve found as I’ve 
looked around. I realize these don’t seem like they should solve the problem, 
but it’s easy enough to throw them in and at least rule out that they don’t 
help:

 

- I found an example of a call I’d made to a restful web service, and I notice 
passed in the Accept which you’re not:  <cfhttpparam type="header" 
name="Accept" value="application/atom+xml">. Again, I realize that shouldn’t 
help the issue of what it thinks you’re *sending*.

- I wonder if it may help to add the charset to the content-type, as in: 
<cfhttpparam type="header" name="Content-Type" value="application/atom+xml; 
charset=utf-8" />. Again, doesn’t seem it should be needed, but worth a shot.

- I found a CF technote referring to how some atom-based services require a 
multiparttype/related  header, and CF defaults to using multipart/form-data. So 
a new attribute has been added to CFHTTP, multiparttype="related". For more 
info, see http://kb2.adobe.com/cps/406/kb406660.html (It appears the hotfix 
adds the attribute for CF 7 and 8, and it’s included in CF9.) Again, I realize 
it doesn’t seem related. Since you’re on CF8, I realize you may not want to 
bother with the hotfix for this one—unless of course you see something in the 
docs of what you’re calling that may say it needs you to send as 
multipart/related.

 

/charlie

 

From: ad...@acfug.org [mailto:ad...@acfug.org] On Behalf Of Steve Ross
Sent: Friday, February 18, 2011 11:04 AM
To: discussion@acfug.org
Subject: Re: [ACFUG Discuss] Troubleshooting CFHTTP Webservice Call

 

To see what CFHTTP is doing send a request to another cfm locally on your box 
and dump the incoming request.

 

-Steve

On Fri, Feb 18, 2011 at 10:59 AM, Clarke Bishop <cbis...@resultantsys.com> 
wrote:

Thanks Charlie. I did try type=”xml” like you suggested, but it didn’t help.

I think I need to better understand how CFHTTP/CFHTTPParam translate into HTTP 
headers. I know what I want the request to look like, but how to make CF create 
that request is my challenge.

1.       Do you or anyone else know of any good examples or links for how CF 
builds requests?

2.       Also, I still haven’t been able to get Charles to work with my CF 
development server. Does anyone have any examples or links for how to setup 
Charles to show HTTP traffic from a CFHTTP. Charles has HTTP proxy and SOCKS 
proxy options – Which one is better to use? And, what’s the best way to get CF 
to route through the proxy?

Right now, I’m kind of stuck, so I really appreciate any ideas!

   Clarke

 


------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink 
------------------------------------------------------------- 


------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink 
------------------------------------------------------------- 





-- 
Steve Ross
web application & interface developer
http://blog.stevensross.com
[mobile] (912) 344-8113
[ AIM / Yahoo! : zeriumsteven ] [googleTalk : nowhiding ]




-- 
Steve Ross
web application & interface developer
http://blog.stevensross.com
[mobile] (912) 344-8113
[ AIM / Yahoo! : zeriumsteven ] [googleTalk : nowhiding ]




-- 
Steve Ross
web application & interface developer
http://blog.stevensross.com
[mobile] (912) 344-8113
[ AIM / Yahoo! : zeriumsteven ] [googleTalk : nowhiding ]




-- 
Steve Ross
web application & interface developer
http://blog.stevensross.com
[mobile] (912) 344-8113
[ AIM / Yahoo! : zeriumsteven ] [googleTalk : nowhiding ]




-- 
Steve Ross
web application & interface developer
http://blog.stevensross.com
[mobile] (912) 344-8113
[ AIM / Yahoo! : zeriumsteven ] [googleTalk : nowhiding ]


------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink 
------------------------------------------------------------- 


------------------------------------------------------------- 
To unsubscribe from this list, manage your profile @ 
http://www.acfug.org?fa=login.edituserform 

For more info, see http://www.acfug.org/mailinglists 
Archive @ http://www.mail-archive.com/discussion%40acfug.org/ 
List hosted by FusionLink 
-------------------------------------------------------------


-------------------------------------------------------------

To unsubscribe from this list, manage your profile @ 

http://www.acfug.org?fa=login.edituserform



For more info, see http://www.acfug.org/mailinglists

Archive @ http://www.mail-archive.com/discussion%40acfug.org/

List hosted by http://www.fusionlink.com

-------------------------------------------------------------


Reply via email to