【问题标题】:Coldfusion web service problem solvingColdfusion Web服务问题解决
【发布时间】:2011-03-02 10:28:31
【问题描述】:

在 CF 9.01、Windows Web Server 2008 R2 上,Web 服务已停止运行 here,因此我正在尝试找出问题所在。我认为问题可能是在我应用 9.01 修补程序时开始的。

我在服务器上添加了一个 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) 并尝试调用该方法,但出现“找不到 web 服务”错误。就像providerapi.cfc被缓存了一样,但是我在管理员中看不到删除它。

【问题讨论】:

    标签: web-services coldfusion


    【解决方案1】:

    我在 9,0,1,274733 上逐字尝试了这个方法,结果 100% 正常。我正在使用 Win 7,我只是在我的开发环境中尝试过。 Web 服务已添加到 CF 管理员的列表中,因此您的期望是正确的。

    您能否确保您可以在浏览器中直接点击 URL(即https://nww.somedomain.nhs.uk/cfcs/test.cfc?wsdl)并查看源代码以查看 WSDL XML?

    跳出来的一件事是在您的 Web 服务调用中使用 https://。您可以仅使用http:// 尝试它,或者甚至更好地针对您的本地主机吗?

    【讨论】:

    • 已更新,是的,他们都直接调用,但都没有添加到管理员 Web 服务页面。
    • 在 CF Admin 中,您是否尝试过清除模板和组件缓存?位于服务器设置 -> 缓存下。
    • 好主意,我这样做了,现在我的测试网络服务和原来的服务都不起作用。在浏览器中直接调用nww.somedomain.nhs.uk/cfcs/test.cfc?wsdl也无法访问XML服务描述,我只是得到一个空白页面。
    • 仍然可以调用nww.somedomain.nhs.uk/cfcs/test.cfc并通过组件浏览器访问
    猜你喜欢
    • 2011-05-06
    • 2016-02-11
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    相关资源
    最近更新 更多