Web services 从SharePoint工作流调用asmx Web服务:找不到资源
本周,我们推出了新的SharePoint解决方案。在登台环境上进行了近一年的开发和测试之后,这是我第一次遇到以下错误 错误:有时它能工作,有时它会在404上崩溃 我们在SharePoint解决方案中使用了Nintex工作流,但我想Nintex在这里不是交易破坏者。通过此工作流(以及其他工作流),我们将调用一个自定义asmx Web服务,该服务托管在SharePoint场的“vti”bin中。webservice中的所有内容都以提升的权限运行。当工作流调用webservice时,webservice会为某些用户随机返回404错误:找不到资源。这里缺少的资源是指向Web服务的asmx路径 有趣的是,只有当我们客户的一个用户启动工作流时,才会发生此错误,但如果我们的一个测试登录名是工作流启动器,则不会发生此错误。对于客户的用户,该错误也仅发生在5次测试运行中的2次。当使用我的测试登录进行测试运行时,我有时也会遇到这样的错误,但在20次尝试中只有3次。错误发生在来自工作流的另一个webservice调用中,而不是在客户的用户尝试时崩溃的同一个调用 环境 SharePoint环境由两个web前端和一个应用程序服务器组成。负载平衡器也在运行。因此,我猜测环境中的一台机器没有正确配置。当我与我们的测试用户一起测试时,我在与服务器场服务器位于同一网络的工作站上进行测试——我直接通过远程桌面连接进行测试,而且我的测试必须通过负载平衡器。客户的用户在类似的情况下测试工作流,但我相信他们被路由到SharePoint场的方式不同,因此他们可以像我在测试remote时那样进入另一个前端 我已经尝试过的Web services 从SharePoint工作流调用asmx Web服务:找不到资源,web-services,sharepoint,workflow,asmx,Web Services,Sharepoint,Workflow,Asmx,本周,我们推出了新的SharePoint解决方案。在登台环境上进行了近一年的开发和测试之后,这是我第一次遇到以下错误 错误:有时它能工作,有时它会在404上崩溃 我们在SharePoint解决方案中使用了Nintex工作流,但我想Nintex在这里不是交易破坏者。通过此工作流(以及其他工作流),我们将调用一个自定义asmx Web服务,该服务托管在SharePoint场的“vti”bin中。webservice中的所有内容都以提升的权限运行。当工作流调用webservice时,webservic
- 直接使用我的测试用户测试Web服务,而无需工作流
- 直接测试Web服务,而无需在每个前端执行工作流
- 检查asmx文件是否确实位于所有计算机上的所有vti bin文件夹中
干杯问题隔离:当您在没有工作流的情况下测试asmx时,您使用的是测试用户帐户还是客户用户帐户?这里的关键是将问题隔离到 1.网络服务 2.WFE正在尝试为请求提供服务 3.调用web服务(即工作流)的客户端应用程序 权限:尝试使测试用户的权限与客户用户的权限相匹配,以便进行比较 是否存在跨域连接? 是否有防火墙或防病毒软件监控流量 日志:检查IIS日志文件和事件查看器以查看有关404错误的更多详细信息
Qubit为什么不打开Fiddler并检查它如何、何时、何地调用webservice呢 我想它会给你一个完整的画面
如果fiddler不起作用,也可以发布它的日志解决了今天的问题
这是一个配置问题:我客户的It向服务器场添加了另一个应用程序服务器,并且忘记在IIS控制台中配置绑定。每次工作流在新的应用程序服务器上运行时,由于缺少绑定,它都无法连接到Web服务。Web服务是从一个SharePoint前端调用的,而不是从用户的浏览器调用的。测试用户的权限甚至比客户的用户更受限制。客户的用户在登台环境中是相同的,并且在那里工作得很好。我们测试的客户的一个用户甚至是网站集管理员。广告的每个经过身份验证的用户都对网站集具有读取权限(NT授权/经过身份验证的用户)。我还与测试用户在两个前端进行了测试-在前端进行测试时,lmhosts文件将SharePoint url重定向到本地主机,而不是负载平衡器。。。