2011-03-02 91 views
1

在CF 9.01上,Windows Web Server 2008 R2,Web服務已停止運行here,因此我試圖找出問題所在。我認爲當我應用9.01修補程序時,問題可能已經開始。Coldfusion Web服務問題解決

我添加了一個test.cfc服務器

<cfcomponent output="false"> 

    <cffunction 
      name = "echoString" 
      output = "no" 
      access = "remote" returntype="any"> 
     <cfargument required="true" name="inputString" type="string"/> 
     <cfreturn arguments.inputString> 
    </cffunction> 

</cfcomponent> 

<cfinvoke webservice="https://nww.somedomain.nhs.uk/cfcs/test.cfc?wsdl" 
method="echoString" returnvariable="returnedString"> 
    <cfinvokeargument name="inputString" value="test string 2"> 
</cfinvoke> 

調用它,並且得到字符串響應,但在CF管理員web服務沒有被添加 當我第一次調用Web服務時,我認爲它應該是。

除了重新安裝CF或試圖手動回滾,有關該問題的任何線索或我可以如何測試?

我在9,0,1,274733。 https不是我想的問題。首先它工作正常,然後停止編碼就沒有變化。其次,我的測試調用test.cfc可以像預期的那樣通過https運行。

如果我直接在瀏覽器中點擊https://nww.somedomain.nhs.uk/cfcs/test.cfc?wsdl(這有效)或我的問題cfc https://nww.somedomain.nhs.uk/cfcs/providerapi.cfc?wsdl,它們都正確顯示XML詳細信息。

但是,調用任一CFC不會將它們添加到管理員中的活動Web服務列表中。

我將「echostring」方法粘貼到我的問題CFC(providerapi.cfc)並嘗試調用該方法,但我得到一個「webservice can not be found」錯誤。這就像是提供了providerapi.cfc緩存,但我不能在管理員看到它刪除它。

回答

0

我在9,0,1,274733上試過這個逐字記錄,它工作的很好。我使用Win 7,我只是在我的開發環境中嘗試過。該Web服務已添加到CF管理員列表中,因此您期望這一點是正確的。

您能否確保您可以在瀏覽器中直接訪問URL(即https://nww.somedomain.nhs.uk/cfcs/test.cfc?wsdl),並查看源代碼以查看WSDL XML?

跳出的一件事是在您的Web服務調用中使用https://。你可以嘗試只用http://或甚至更好的對你的本地主機?

+0

更新,是的,他們都直接調用,但都沒有添加到管理員Web服務頁面。 – Saul 2011-03-02 11:53:45

+0

在CF Admin中,您是否嘗試清除模板和組件緩存?這是在服務器設置 - >緩存。 – 2011-03-02 13:32:52

+0

好主意,我這樣做,現在既沒有我的測試Web服務,也沒有原來的工作。我不能直接在瀏覽器中直接調用https://nww.somedomain.nhs.uk/cfcs/test.cfc?wsdl來訪問XML服務描述,我只是得到一個空白頁面。 – Saul 2011-03-02 14:13:44