这是我第一次使用SOAP.I'm试图调用使用CFINVOKE这是如下一个Web服务:获取无法读取WSDL错误
<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#">
这里是消息名称的一部分从WSDL:
<message name="infoLookupRequest">
<part name="phoneNumber" type="xsd:string" />
<part name="userName" type="xsd:string" />
<part name="password" type="xsd:string" />
</message>
这里是操作名称从WSDL部分:
<portType name="vtsInfoLookupPortType">
- <operation name="infoLookup">
<documentation>Get phone number information.</documentation>
<input message="tns:infoLookupRequest" />
<output message="tns:infoLookupResponse" />
</operation>
</portType>
我得到以下ERR或:
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 :
我试图在网上搜索错误,但无法确定我的代码中有什么问题。请让我知道如果我做错了什么
我相信我需要将SSL证书导入到coldfusion信任库中。但在此之前,我正确地在我的代码中传递变量? – Jack
如果它位于SSL后面,那么ColdFusion将需要证书与它通信。你的代码看起来好,那么为什么不试试呢?另外,您应该能够自己浏览WSDL以验证在运行代码之前可以获取它。只需浏览到“https://xyz/infoLookup.php?wsdl”,看看会发生什么。 –
当我浏览WSDL时,它工作正常。 WSDL在Internet Explorer中打开。我相信我仍然需要将证书导入Coldfusion Trust Store。 – Jack