2016-09-23 79 views
1

我正在使用CFHTTP連接到服務器併發布一些參數。我已成功導入證書。ColdFusion - 通過端口80發送請求的CFHTTP(https)

<cfhttp url="https://xml.proveid.experian.com/IDSearch.cfc" method="post" result="response" port="443"> 
    <cfhttpparam type="Header" name="Accept-Encoding" value="*"> 
    <cfhttpparam type="header" name="content-length" value="#len(arguments.xml)#" /> 
    <cfhttpparam type="xml" value="#trim(arguments.xml)#" /> 
</cfhttp> 

正如你所看到的請求是443端口,但錯誤我回來的是:

結構字符集[空字符串]
ErrorDetail連接例外:連接到xml.proveid.experian .COM:80
[xml.proveid.experian.com/194.60.180.108]
失敗:連接超時:接
Filecontent連接失敗部首[空字符串]
Mimetype無法確定文件的MIME類型。
響應頭結構[空]
狀態碼連接失敗。狀態碼不可用。
文本是連接失敗。狀態碼不可用。

任何人都可以解釋爲什麼請求是在端口80?

+0

我嘗試將URL粘貼到瀏覽器窗口中,並且還出現了「Connection timed out」錯誤。也許這是他們最終的問題,而不是你的問題? –

+0

他注意到':80'應該是':443'。他並不是在問連接超時。 – Leeish

+0

我的假設是響應從80開始超時,因爲443超時並且服務器在該錯誤響應上默認爲80?我可以建議的唯一的事情就是看看你的CF記錄,看看請求是否在443而不是80.老實說,我不知道。 – Leeish

回答

0

看來這個特定的Web服務並不與CFHTTP發揮好。所以這個方法解決了這個問題。

<cfset args.xml = 'xml value'> 

<cfinvoke 
       webservice="https://xml.proveid.experian.com/IDSearch.cfc?wsdl" 
       method="search" 
       returnvariable="aTemp" 
       argumentCollection="#args#"> 

</cfinvoke>