获得404 Not Found CF Error API

时间:2013-04-17 13:55:42

标签: web-services api coldfusion

我正在尝试连接到外部Web服务以访问其数据库以执行某些操作。我有以下代码,但是当我运行时,它会给出一个

“404 Not Found”CFE。

<cfscript>
httpService = new http();
httpService.setMethod("Post");
httpService.setThrowOnError(true);
httpService.setTimeOut(30);
httpService.setURL("http://xxxxxxxxxxxxx.svc");//THEIR http
httpService.setusername("MY USERNAME I HAVE BEEN GIVEN TO ACCESS THEIR web");
httpService.setPassword("THE PASSWORD THEY ASSIGNED ME");   
httpService.addParam(type="body", name="Content-Type", value="text/plain");

result = httpService.send().getPrefix();
</cfscript>   

有人可以帮忙吗?

我也试过像这样设置userName和密码。但我不知道这是不是问题。

httpService.addParam(type="formfield", name="userName", value="MY USERNAME");

当我改变

 httpService.setURL("httpxxxxxxxxx.svc");

 httpService.setURL("httpxxxxxxxxx.svc/basicHttp");

它改为“415 Unsupported Media Type”。还没有找到帮助我解决这个问题的真正来源。这些是外部源提供的URL。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为下面一行存在问题:

httpService.addParam(type="body", name="Content-Type", value="text/plain");

根据the docs,您可能希望类型为“标题”。我不确定这是否一定会阻止404错误(这取决于外部Web服务)。

如果这不能解决问题,接下来我要做的是:

  • 安装Fiddler
  • 启动Fiddler
  • 将httpService.setProxyServer(“127.0.0.1”)httpService.setProxyPort(“8888”)添加到您的代码中
  • 重试ColdFusion页面。这些请求现在应该出现在Fiddler。

您现在可以检查请求和响应,这可能会为您提供有关哪些内容无效的线索。您还可以将请求保存为fiddler的.SAZ文件并发送给服务的开发人员,他们可以查看它并且可以给您反馈。