Sharepoint拒绝访问asmx方法

时间:2011-07-04 23:03:05

标签: web-services sharepoint-2007

我们在MOSS 2007上运行一个站点,该站点从客户端调用同一域上的自定义Web服务asmx方法。

在实际网站上,请求被重定向到以下网址:

http:// [domain] /_layouts/error.aspx?ErrorText= 无法识别以%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个Hives中的web.config文件时,问题会再次修复一段时间,但过了一段时间后问题又回来了。我想知道这与回收的应用程序池有什么关系?

C:\ Program Files \ Common Files \ microsoft shared \ Web Server Extensions \ 12 \ ISAPI \ web.config

1 个答案:

答案 0 :(得分:1)

这个问题的优雅解决方案对我们有用:我们已经将Web服务asmx端点替换为Web处理程序ashx端点。出于某种原因,这不会遇到同样的问题。

我猜这是因为在一段时间之后会出现一些问题,导致网址错误地解决。我怀疑网址中的.asmx之后的/是主题。实现的ashx端点完全依赖于url参数和发布的数据。

显然,对于可能遇到相同问题的其他人而言,这种解决方法并不总是一个选项,因为我们正在丢失许多预先烘焙到asmx端点的丰富的Web服务功能。

不幸的是,由于我们已经离开了Web服务asmx方法,我将无法测试人们现在可能提出的任何其他解决方案。遗憾。