We help IT Professionals succeed at work.

cfhttp POST returning 404 error - Page not Found trying to send XML

Medium Priority
455 Views
Last Modified: 2013-12-20
I am trying to use coldfusion to POST to a webservice using XML but keep getting 404 error's. The webserice is from a large image processing company and they work with many different companies. They have no one in their technical department that knows coldfusion so they cannot help me with sample code etc.

What I am trying to do is POST an XML header and text to their webserice using cfhttp command. Everything tells me it should be working but it keeps failing by returning the 404 error. It should return XML with a 0 for everything ok or an error number for various types of problems within the XML itself.

Here is my code. Can someone tell me what I am doing wrong? I am using MX 7 running on a MS IIS server.

I try to kick it off by opening my browser and going to this page on our webserver which has coldfusion MX 7 running.
 
<cfset XMLcont ='
<?xml version="1.0" encoding="UTF-8"?>
<AdMissionRequest Version="1.0">
<SendEMail>
<Account>pressofatlanticcity</Account>
<MediasetName>_PRESSOFATLANTICCITY_1234</MediasetName>
<AuthenticationToken>B9849FF9BD724A9E4AC26A248080CF96</AuthenticationToken>
<To>myemail@company.com</To>
<Bcc></Bcc>
<Template>createad.xsl</Template>
<Body>My custom message goes here.</Body>
<Parameter Name="EditLink" Value="http://forms.pressofatlanticcity.com/IPIX/submit_photos.cfm"/>
<Parameter Name="Photocode" Value="1234XLW"/>
<Parameter Name="Description"></Parameter>
</SendEMail>
</AdMissionRequest>
'>


<cfset XMLdoc ='
POST /rimfire/admission HTTP/1.1
Host: http://webservices-preprod.ipixmedia.com
User-Agent: My Application Name
Content-Type: text/xml
Content-Length: '>

<cfset XMLdoc = XMLdoc & len(XMLcont) & XMLcont>

<cfhttp method="post" url="http://webservices-preprod.ipixmedia.com/rimfire/admission">
   <cfhttpparam type="header" name="Content-Type" value="text/xml" />
   <cfhttpparam type="xml" name="xmlDoc" value="#XMLdoc#"/>
</cfhttp>

<cfdump var="#XMLdoc#">

<cfoutput>
File Content:<br>
   #cfhttp.filecontent#<br>
Mime Type:  #cfhttp.MimeType#<br>
</cfoutput>


The above code should trigger thier webservice to send an email out to the email address listed in the XML above.

Thanks for looking,
Bob W.
Comment
Watch Question

Commented:
acpress,

If it is a webservce, why aren't you just invoking it using <cfobject or <cfinvoke

Calling it your way is just not how it's done.

Regards
Plucka

Author

Commented:
The only way to use this webservice is to use a HTTP POST to it and in return it sends back XML code with one element letting you know if it worked or not. I cannot see how you could use CFINVOKE or CFOBJECT to send a POST with.

Bob W.

Author

Commented:
Figured out the problem myself....just switched to VB instead and worked like a charm... I still beleive there is an issue with coldfusion and http post.

Bob W.
Commented:
PAQed with points refunded (500)

GranMod
Community Support Moderator

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.