Jac*_*ack 5 coldfusion soap wsdl web-services coldfusion-8
这是我第一次使用 SOAP。我正在尝试使用 cfinvoke 调用 web 服务,如下所示:
<cfinvoke
webservice="https://xyz/infoLookup.php?wsdl"
method="infoLookup"
returnVariable="info"
>
<cfinvokeargument name="phoneNumber" value="7182973186"/>
<cfinvokeargument name="userName" value="12345"/>
<cfinvokeargument name="password" value="password"/>
</cfinvoke>
<cfdump var="#info#">
Run Code Online (Sandbox Code Playgroud)
这是来自 WSDL 的消息名称的一部分:
<message name="infoLookupRequest">
<part name="phoneNumber" type="xsd:string" />
<part name="userName" type="xsd:string" />
<part name="password" type="xsd:string" />
</message>
Run Code Online (Sandbox Code Playgroud)
这是来自 WSDL 的操作名称的一部分:
<portType name="vtsInfoLookupPortType">
- <operation name="infoLookup">
<documentation>Get phone number information.</documentation>
<input message="tns:infoLookupRequest" />
<output message="tns:infoLookupResponse" />
</operation>
</portType>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Unable to read WSDL from URL: https://xyz/infoLookup.php?wsdl.
Error: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated.
The error occurred in C:\XYZ\A\Soap\soapreq.cfm: line 37
35 : <cfinvokeargument name="phoneNumber" value="7182973186"/>
36 : <cfinvokeargument name="userName" value="12345"/>
37 : <cfinvokeargument name="password" value="password"/>
38 : </cfinvoke>
39 :
Run Code Online (Sandbox Code Playgroud)
我试图在线搜索错误,但无法弄清楚我的代码有什么问题。如果我做错了什么,请告诉我
以下是将证书安装到 ColdFusion 的 Java 密钥库中需要执行的步骤。首先,请确保您正在更新 ColdFusion 使用的正确的 cacerts 文件。如果您在该服务器上安装了多个 JRE。您可以通过“系统信息”下的管理员验证 JRE ColdFusion 正在使用。查找 Java Home 行。
默认信任库是 JRE 的 cacerts 文件。该文件通常位于以下位置:
服务器配置:
cf_root/runtime/jre/lib/security/cacerts
JRun 4 上的多服务器/J2EE 配置:
jrun_root/jre/lib/security/cacerts
Sun JDK安装:
jdk_root/jre/lib/security/cacerts
查阅其他 J2EE 应用程序服务器和 JVM 的文档
为了安装证书,您需要首先获取证书的副本。这可以通过使用 Internet Explorer 来完成。请注意,不同版本的 Internet Explorer 的行为会略有不同,但与这些步骤应该非常相似。例如,早期版本的 IE 可能会将证书保存在与我提到的不同的选项卡下。
https://xyz/infoLookup.php?wsdl
.将导出的证书文件复制到您的 ColdFusion 服务器(如果需要,您可以从 IE 中删除证书)
cmd
在 ColdFusion 服务器上以管理员身份运行提示符keytool 是 Java SDK 的一部分,可以在以下位置找到:
服务器配置:
cf_root/运行时/bin/keytool
JRun 4 上的多服务器/J2EE 配置:
jrun_root/jre/bin/keytool
Sun JDK安装:
jdk_root/bin/keytool
查阅其他 J2EE 应用程序服务器和 JVM 的文档
要安装证书:
"c:\program files\java\jre7\bin\keytool" -import -v -alias your_cert_alias_name -file C:\wherever_you_saved_the_file\cert_file.cer -keystore cacerts -storepass changeit
注意:*your_cert_alias_name* 我上面使用的可以是您想要的任何内容
注意:*C:\wherever_you_saved_the_file\cert_file.cer* 将这些值更改为您用于服务器文件夹和证书文件名的任何值
要验证证书:
"c:\program files\java\jre7\bin\keytool" -list -v -keystore cacerts -alias your_cert_alias_name -storepass changeit
注意:*your_cert_alias_name* 此处使用与上面安装证书时使用的名称相同的名称
重新启动 ColdFusion 服务在您执行此操作之前,它不会读取更新的 cacerts 文件。
如果需要,您可以从服务器中删除导入的证书文件。
归档时间: |
|
查看次数: |
7336 次 |
最近记录: |