2011-03-02 68 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