狀況
假設您在 Microsoft BizTalk Server 2013年使用 SharePoint Services 介面卡。當您下載檔案從 SharePoint 伺服器 2013年包含受管理的中繼資料行使用的介面卡的文件庫時,您會收到下列錯誤訊息︰
收到 Windows SharePoint Services 的介面卡無法正確處理的 SharePoint 檔檔名。發生下列錯誤︰
[System.InvalidCastException] 無法將型別轉換的物件型別 ' System.Collections.Generic.Dictionary'2[System.String,System.Object]' 以鍵入 'Microsoft.SharePoint.Client.Field'。
錯誤碼︰ 12310
一旦解決問題,造成這個問題,您可以復原簽出這個檔案,和配接器會嘗試重新處理。
此錯誤所觸發 Windows SharePoint Services 的接收位置或傳送埠與 URI wsss: / / [...]?ViewName = ToBizTalk。
Windows SharePoint Services 配接器的事件識別碼︰ 12457
原因
BizTalk Server 2013年使用 SharePoint 2010 用戶端程式庫,就會發生這個問題。不過,都必須 SharePoint 2013 用戶端程式庫。
解決方案
累積更新資訊
下列的累積更新的 BizTalk Server,已先修正這個問題︰
因應措施
若要解決這個問題,請使用下列解決方法之一︰
-
請勿使用 SharePoint 伺服器 2013年文件庫中的受管理的中繼資料行。
-
取代從 SharePoint 2013 伺服器的 SharePoint 2013 組件參考的 SharePoint 2010 組件︰
-
Microsoft.SharePoint.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c
-
Microsoft.SharePoint.Client.Runtime, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e94
然後,建立下列繫結重新導向 (BTSNTSvc.exe.config 和 BTSNTSvc64.exe.config) 的 BizTalk 組態檔中︰
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly>
<assemblyIdentity name="Microsoft.SharePoint.Client"
publicKeyToken="71e9bce111e9429c"
culture="neutral" />
<bindingRedirect oldVersion="14.0.0.0"
newVersion="15.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.SharePoint.Client.Runtime"
publicKeyToken="71e9bce111e9429c"
culture="neutral" />
<bindingRedirect oldVersion="14.0.0.0"
newVersion="15.0.0.0"/>
</dependentAssembly>
</assemblyBinding> -
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
參考
如需 BizTalk Server 的 service pack 和累積的更新清單的詳細資訊,請參閱KB 2555976: BizTalk Server 服務套件和累積更新清單。
如需有關 BizTalk Server hotfix 的詳細資訊,請參閱KB 2003907︰ 資訊關於 BizTalk hotfix 和累積更新支援。