使用BizTalk Server 2009提供的Sharepoint Adapter连接Sharepoing 2010 与 不通过安装介质安装Sharepoint Adapter
本文也是经过反复挣扎才完成的。在好同事兼好上级的王亨利(目前levelup为亨总)的一再,不遗余力的坚持鄙视和胁迫下,我只好写了本文。好吧,我很懒,我承认。感谢亨总的鞭策。 恩,与诸君共勉。 OTZ
我们有可能碰到两个情况:
1. BizTalk Server 2009提供的Sharepoint Adapter是不支持Sharepoint 2010的。
2. 有些时候没有合适的安装介质,由于版本等关系,但我们必须安装并使用Sharepoint Adapter。
我们需要进行如下操作,才能实现对Sharepoint的连接。
在Sharepoint2010上建立BizTalk Sharepoint Adapte需要以下几个步骤。
0. 首先要求你的BizTalk Server服务是配置在域账户下的。
1. 找一台Sharepoint 2007安装一个BizTalk Sharepoint Adapter,安装方法前面介绍过。
2. 到IIS中找到安装所生成的IIS应用程序。应用程序名称默认为“BTSharePointAdaterWS”。
3. 把应用程序对应目录的文件全部拷贝。
4. 在Sharepoint2010所在服务器上,找到想要连接的站点,并在IIS中的该站点下,建立应用程序,名称为“BTSharePointAdaterWS”。将文件复制入该应用程序指向的目录。
注意:将该应用程序的应用程序池的账户,设置为Sharepoint 2010服务器所使用的应用程序池
5. 在Sharepoint 2010所在域中,或在Sharepoint 2010所在电脑中,建立用户组,组名为:“Sharepoint Enabled Hosts”。如果是域中,为”域名\Sharepoint Enabled Hosts”,如果是计算机,则为”计算机名\Sharepoint Enabled Hosts”。注意,用自己的域名和计算机名,替换。
注意:在该账户组中,加入BizTalk服务配置时使用的域账户
6. 编辑步骤3中所拷贝文件中的”Web.config”文件。
找到节点:<authorization>
把内容替换为:
<authorization>
<allow roles="域名\SharePoint Enabled Hosts" verbs="GET,HEAD,POST" />
<deny users="*" />
</authorization>
注意:"域名\SharePoint Enabled Hosts" 这个就是我们在前面建立的用户组,如果是本机组,就填写”计算机名\Sharepoint Enabled Hosts”,如果是域就填写"域名\SharePoint Enabled Hosts" 。
再找到
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c" />
<bindingRedirect oldVersion="11.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
修改为:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c" />
<bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
注意:此步骤只有要使用Sharepoint 2010时才使用。
7. 从BizTalk Server 2009安装的服务器的GAC中,提取BizTalk Server运行所需的DLL,安装至Sharepoint 2010所在服务器。
首先是BizTalk Server的GAC->c:\windows\assembly
有些人不知道如何提取GAC中的DLL。反方如下:
打开控制台,进入目录:c:\windows\assembly。浏览目录,就能看到多个文件夹。按照你的DLL的版本,进入相应目录,就可以把DLL拷贝出来了。
拷贝出了DLL,在把DLL注册到Sharepoint 2010服务器即可。
在我的试验中,我拷贝了以下DLL:
Microsoft.BizTalk.KwTpm.OfficeImporters2
Microsoft.BizTalk.KwTpm.OfficeImporters2.resources
Microsoft.BizTalk.KwTpm.StsOminterop
Microsoft.BizTalk.KwTpm.StsOmInterop.resources
Microsoft.BizTalk.KwTpm.WssAdapter.Validator
Microsoft.BizTalk.KwTpm.WssAdapter.Validator.Resources
Microsoft.BizTalk.MUI
Microsoft.BizTalk.Tracing
将以上DLL注册到Sharepoint 2010的服务器的GAC中。
8. 从Sharepoint 2010服务器上的IIS中打开Web Service服务,调用服务“IsAlive”,检验返回结果,确认是否安装成功。
看到true了吗,看到了,就成功了。
如果成功了,那么OK。如果不成功,寻找相关问题,解决之。
如果报错服务器500了,并且看不到报错信息,可以采用如下方法:
1. 打开IE设置,找到 高级 选项卡。
2. 反选“显示友好 HTTP错误信息”。
3. 回到页面就可以看到错误提示了。
今天就到这里。
欢迎大家讨论。完全原创,转帖请务必注明出处。