我在使用ColdFusion 11服务器时遇到了一些奇怪的行为,其中(除其他外)发布了一些通过SOAP和HTTP访问的Web服务。服务器本身是Windows 2012,运行IIS。实际文件夹配置如下:
IIS配置了两个网站,' BOB'和' BOB_Services'。两者都配置了CF Server Config工具,以便CF处理.cfc,.cfm文件。他们共享一个共同的CFIDE配置。
在CF Admin中配置了一个文件夹映射来自' /' to' I:/ inetpub / BOB'。不要问我为什么,似乎没有人知道。
通常BOB_Services
只有BOB
个文件。昨天我们不小心将同一个文件复制到BOB_Services\services.cfc
根文件夹中,并且所有使用lapply
的SOAP服务都开始抛出错误。然而,我可以通过HTTP查询相同的Web服务(例如,使用http://bob/services.cfc?method=function1¶m1=0 ....等)并获得有效的结果。
答案 0 :(得分:0)
如果有其他人遇到这种奇怪的行为,这是一个参考答案。
使用HTTP GET调用BOB_Services/services.cfc
时,似乎是文件夹映射
'/' -> 'I:/inetpub/BOB'
,用于处理请求的实际文件为I:/inetpub/BOB_Services/services.cfc
。
当使用SOAP客户端调用BOB_Services/services.cfc
中的函数时,将调用文件夹映射,用于处理请求的文件为I:/inetpub/BOB/services.cfc
, IF IT EXISTS 。如果它不存在,则按预期使用文件I:/inetpub/BOB_Services/services.cfc
。
此行为似乎完全可重复 - 我可以发出SOAP请求,获取一个结果,更改映射,发出另一个请求并获得其他结果。