我们正在将一个sharepoint服务器场从传统的DC迁移到私有云。
站点中的一个表单是调用某些Web服务,sharepoint站点和Web Service应用程序都由同一个IIS服务器安装。 Sharepoint站点和Web服务应用程序具有不同的应用程序池。
迁移后,其中一个调用某些Web服务的表单会引发错误:data connection error
。查看sharepoint日志,我们发现在访问表单的URL时有http error 500
,并且我们意识到从浏览器访问WSDL也会引发相同的错误。
WSDL中的错误大约是:Could not load file or assembly <...> or one of its dependencies
。如果我们将应用程序池设置设置为Enable 32 bit = true
,则会出现此错误。
但是,表单的呈现未完成,因为将WSDL应用程序池设置为32位会导致使用堆栈跟踪抛出FileNotFoundException
:
at Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, SPUserToken userToken) at Microsoft.SharePoint.SPSite..ctor(String requestUrl) at ...
我们确信问题的原因是二进制“bitness”,因为我们能够模拟上述异常,并且能够通过在应用程序池中将32位选项设置为false来解析其他形式。 / p>
我们希望就如何解决问题寻求任何人的想法。不幸的是,我们只有Web服务的DLL,我们需要一段时间来获取一些源代码,所以我们希望有一些解决方案不需要重新编译。此外,我们要接收的源代码不能保证生成由于此遗留系统变为黑盒的时代而部署到生产中的相同DLL。
有关所用软件版本的更多信息: