CFHTTP HTTPS连接失败CF8

时间:2014-10-02 10:30:49

标签: rest ssl coldfusion connection cfhttp

我编写了一个简单的应用程序来测试RESTful API(由会计应用程序提供)。我已经在Firefox中安装了“Poster”来测试“GET和POST”XML,并且API正在按预期运行。我写了一个简单的“GET”测试页面,从测试CF8应用程序中调用API,API返回了我预期的结果。我无法在测试CF8应用程序中进行POST。

我已将以下内容插入到我的application.cfm中:

<!--- 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="UTF­8" 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> 

关于这个主题发表了很多内容,我已经尝试了大部分内容,但有些帖子甚至比我的版本更老!任何最新的帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

来自评论

使用<cfhttp>接收连接失败时,我尝试的第一件事是验证您是否可以使用ColdFusion服务器中的浏览器导航到该URL。如果该请求不起作用,那么它也无法从ColdFusion调用中运行。在继续之前先解决该问题。

使用SSL(HTTPS)连接到安全站点时的另一个常见问题是证书不受信任或ColdFusion(Java)不知道。在这些情况下,您需要将其证书导入到用于ColdFusion的Java密钥库中。

答案 1 :(得分:0)

以下是有关如何安装Java库未安装的自签名证书或其他ssl证书的详细步骤说明。

http://www.coldfusioncookbook.com/entries/How-Do-I-Consume-SSL-Encrypted-Content-with-CFHTTP.html

帮了我1000次。 马特