我正在使用CFHTTP连接到服务器并发布一些参数。我已成功导入证书。
<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的,但我收到的错误是:
struct Charset [空字符串]
ErrorDetail Connect异常:连接到xml.proveid.experian.com:80
[xml.proveid.experian.com/194.60.180.108]
失败:连接超时:连接
Filecontent连接失败标题[空字符串]
Mimetype无法确定文件的MIME类型 Responseheader struct [empty]
状态码连接失败。状态代码不可用。
文本是连接失败。状态代码不可用。
有人可以解释为什么请求是在端口80上进行的吗?
答案 0 :(得分:2)
https://xml.proveid.experian.com/IDSearch.cfc(端口443)立即重定向到http://xml.proveid.experian.com:80/CFIDE/componentutils/cfcexplorer.cfc?method=getcfcinhtml&name=oneninetwo.corpwsdl2.IDSearch&path=/IDSearch.cfc(端口80)
第二页即将结束。
答案 1 :(得分: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>