0

我正在尝试连接到外部 Web 服务以访问他们的数据库以进行某些操作。我有以下代码,但是当我运行时,它给出了

“404 未找到”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>   

任何人都可以帮忙吗?

我也尝试过像这样设置用户名和密码。但我不知道这是否是问题所在。

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

当我改变

 httpService.setURL("httpxxxxxxxxx.svc");

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

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

谢谢。

4

1 回答 1

0

我认为下面的行有问题:

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

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

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

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

您现在可以检查请求和响应,这可能会为您提供有关什么不起作用的线索。您还可以将请求保存为来自 fiddler 的 .SAZ 文件并发送给服务的开发人员,他们可以查看它并可能会给您反馈。

于 2013-04-17T14:11:46.067 回答