2011-07-04 48 views
2

我们有MOSS 2007上运行的网站,这使得对从客户端相同的域自定义Web服务的ASMX方法的调用。的SharePoint拒绝访问ASMX方法

在直播站点的请求被重定向到以下网址:

的http:// [域] /_layouts/error.aspx?ErrorText= 请求格式是无法识别的URL在%27意外结束%2FIsSuspectWaterLevel%27。

我们增加了以下的站点web.config中没有任何的喜悦:

<system.web> 
    <webServices> 
     <protocols> 
     <add name="HttpSoap" /> 
     <add name="HttpGet" /> 
     <add name="HttpPost" /> 
     </protocols> 
    </webServices> 
    ... 
    </system.web> 

有趣的是,我们没有这应该是相当一致的现场测试服务器在这个问题上服务器。

什么其他变量任何想法可能是在这里打球?

在此先感谢您的任何想法, 加文

更新:

虽然调用

的http:// [域] /_vti_bin/Custom/CustomFunctionality.asmx /IsSuspectWaterLevel

失败,我仍然可以访问

HTTP:// [域] /_vti_bin/Custom/CustomFunctionality.asmx OP = IsSuspectWaterLevel

虽然当调用以同样的方式的方法失败。

我不知道如果这有助于阐明这个问题更多的光线?

另一个更新:

我刚刚看到开发服务器上同样的错误。从GAC中删除应用程序dll然后重新复制它解决了问题。测试与精初始部署的现场服务器,这样也许有与SharePoint松动随着时间的推移一些参考的问题吗?抓住吸管非常混乱的行为!

然而,另一个更新:

似乎每次我触摸(打开并保存)在12个荨麻疹Web.config文件中的问题进行的时间再次固定,但经过一段时间的问题回来。我想知道是否与正在回收的应用程序池有关?

C:\ Program Files文件\ Common Files文件\ Microsoft共享\ Web服务器Extensions \ 12 \ ISAPI \ web.config中

回答

1

一个不雅的解决方法这个问题是对我们工作的:我们已经交换出去的Web服务asmx终结点为web处理程序ashx端点。由于某些原因,这不会遭遇同样的问题。

我从这个猜测是有一些问题的一段时间,这是造成网址来解决错误后匍匐英寸我怀疑/之后。asmx在url中是curprit。所实现的ashx端点纯粹是基于URL参数和发布的数据。

很显然,这种解决方法对于其他可能遇到同样问题的人来说并不总是一种选择,因为我们失去了大量预先导入到asmx端点的丰富Web服务功能。

不幸的是,我们将无法测试人们可能从现在开始提出的任何其他解决方案,因为我们已经离开了web服务asmx方法。抱歉。