這是我第一次使用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