1

使用 CF 9.0.1

我的目标是从另一台服务器检索 JSON 值集,然后在后续 CF 语句中处理结果。远程服务器需要客户端证书。目前,一切似乎都可以正常工作(返回代码 200),但我没有得到任何数据。

当我对结果进行 cfdump 时,结构存在,方法定义等......只是没有数据。很明显,我有问题。

当我将 URL 放入 IE 或其他浏览器时,会返回 JSON 流。

好的,这是我的实验。(可能是一些错别字,因为我目前无法复制/粘贴)

<!--- block 1 --->
<cfset objSecurity = createObject("java", "java.security.Security") />
<cfset storeProvider = objSecurity.getProvider("Jsave.JCE") />
<cfset objSecurity.removeProvider("Jsave.JCE") />

<!--- block 2 --->
<cfhttp
  url = "https://server.a.b.c/rest/xxx"
  clientcert = "C:\Xy\Z"
  clientCertPassword = "mypass"
  method = "Get"
  result="result"
  resolveurl="yes" throwOnError="true" >

<!--- block 3 --->
<cfhttpparam type="header" name="Mimetype" value = "application/json" >
<cfhttpparam type="header" name="Accept-Encoding" value="*" >
<cfhttpparam type="header" type="header" name="TE" value="default;q=0">
</cfhttp>

如果我关闭块 1 和块 3,我会得到相同的结果——即没有错误但没有预期的数据。

cfdump 给出 Filecontent .... java.io.ByteArrayOutputStream 的对象 ... 类名 java.io.ByteArrayOutputStream ... 方法(标准方法) Header ... 看起来很正常 Mimetype ... application/json ResponseHeader ...似乎没什么异常状态码200


除了打电话之外,我还需要做些什么吗?鉴于我没有尝试托管 JSON 服务,而只是尝试检索通过 JSON 传递其答案的值,我哪里出错了 - 或者我需要进行哪些未知设置?

在添加证书链之前,我最初确实遇到了错误,但这一切都已得到纠正。

这是在微软服务器、tomcat 环境、IIS 上运行的。

对于如何获得预期的数据值,任何见解都将不胜感激。

4

0 回答 0