Rest CFHTTP HTTPS连接失败CF8
我编写了一个简单的应用程序来测试RESTful API(由会计应用程序提供)。我已经在Firefox中安装了“Poster”来测试“GET and POST”XML,API的表现也应该如此。我编写了一个简单的“GET”测试页面,从测试CF8应用程序中调用API,API返回了我期望的结果。我不能在测试CF8应用程序中发布 我已在application.cfm中插入以下内容:Rest CFHTTP HTTPS连接失败CF8,rest,ssl,coldfusion,connection,cfhttp,Rest,Ssl,Coldfusion,Connection,Cfhttp,我编写了一个简单的应用程序来测试RESTful API(由会计应用程序提供)。我已经在Firefox中安装了“Poster”来测试“GET and POST”XML,API的表现也应该如此。我编写了一个简单的“GET”测试页面,从测试CF8应用程序中调用API,API返回了我期望的结果。我不能在测试CF8应用程序中发布 我已在application.cfm中插入以下内容: <!--- fix for HTTPS connection failures ---> <cfif NO
<!--- fix for HTTPS connection failures --->
<cfif NOT isDefined("Application.sslfix")>
<cfset objSecurity = createObject("java", "java.security.Security") />
<cfset objSecurity.removeProvider("JsafeJCE") />
<cfset Application.sslfix = true />
</cfif>
这是失败的代码:
<cfprocessingdirective suppressWhiteSpace = "Yes">
<cfxml variable="customerxml">
<?xml version="1.0" encoding="UTF8" standalone="yes"?>
<dataentry>
<interface name="Customer Edit"></interface>
<entity>
<attribute name="Customer Code">REP003</attribute>
<attribute name="Customer Name">Repsol3</attribute>
<attribute name="Address Line 1">El House</attribute>
<attribute name="Address Line 2">El Street</attribute>
<attribute name="Address Line 3">El Town</attribute>
</entity>
</dataentry>
</cfxml>
</cfprocessingdirective>
<cfhttp
method="post"
url="https://***/wsapi/1.1/dataentry/"
username="***"
password="***"
charset="utf-8">
<cfhttpparam type="header" name="Accept-Encoding" value="*" />
<cfhttpparam type="header" name="TE" value="deflate;q=0" />
<cfhttpparam type="header" name="Content-Type" value="application/xml" />
<cfhttpparam name="XML_Test" type="xml" value="#customerxml#">
</cfhttp>
REP003
雷普索尔3
埃尔豪斯酒店
埃尔街
埃尔镇
有很多关于这个主题的文章发表了,我也尝试了很多东西,但是有些帖子甚至比我的更老!欢迎提供最新帮助。来自评论
使用
接收连接失败时,我尝试的第一件事是验证您是否可以使用浏览器从ColdFusion服务器导航到URL。如果该请求不起作用,那么它也不会从ColdFusion调用中起作用。在继续之前,先解决该问题
使用SSL(HTTPS)连接到安全站点时的另一个常见问题是,该证书不受信任或不为ColdFusion(Java)所知。在这些情况下,您需要将他们的证书导入到用于ColdFusion的Java密钥库中。以下是关于如何安装自签名证书或Java库未安装的其他ssl证书的详细说明 已经帮了我一千次了。
Matt为什么要删除JsafeJCE安全提供程序?我认为那没用。最可能的问题是您需要将他们的SSL证书导入服务器的Java密钥库。我已经概述了中的步骤。您可以发布实际的响应/错误吗?另一件要验证的事情是您可以打开浏览器并从ColdFusion服务器连接到URL。@Miguel-F-我在ColdFusion服务器上打开IE并输入URL“https://**/wsapi/…”,但它失败了,建议我添加“www”-然后它就成功了!我在上面的代码中包含了www,但没有收到“连接失败”的消息——相反,我从尝试连接的应用程序中收到了一条错误消息。进步!!伟大的很高兴你通过了那个障碍。我将继续为您添加一个答案,因为这回答了有关连接失败的问题。如果你遇到了其他问题,请发一个新问题。祝你好运