You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BizTalk 2016 SharePoint适配器强制使用443端口问题排查

解决BizTalk 2016 FP3动态发送端口连接SharePoint 2013 HTTPS端口问题

我之前碰到过几乎一模一样的场景——BizTalk动态端口明明配置了443端口,结果适配器硬要走80,折腾了好一阵子才找到根因。下面给你一步步拆解问题和解决方案:

核心问题根源

你用的wss://协议地址是关键坑点!BizTalk的SharePoint适配器对wss://的默认解析逻辑是绑定到HTTP(80端口),哪怕你设置了WSS.ConfigAdapterWSPort,这个属性的优先级也低于地址本身的协议映射,导致适配器忽略你的端口配置,直接走默认80。

分步解决办法

1. 直接改用HTTPS协议的地址格式

把动态端口的地址从wss://开头改成https://,并且显式带上443端口,彻底强制适配器走HTTPS:

SendToSp(Microsoft.XLANGs.BaseTypes.Address) = "https://collaboration.xxx.co.uk:443/sites/HousingICTSolution/Technical/Lists/BizTalkTestList/";

别担心,新版CSOM适配器完全支持标准HTTPS地址,这样就从根源上避免了wss://带来的端口默认值问题。

2. 清理冲突的属性设置

你之前设置的WSS.ConfigAdapterWSPort现在可以删掉了——既然已经在地址里明确指定了443,这个属性反而会和地址端口产生冲突,让适配器混淆。剩下的属性保持正确设置就行:

msgNvpToSp(xxx.Integration.Common.Schemas.PropertySchema.FormType) = "DynamicSharePointSend";
msgNvpToSp(WSS.ConfigPropertiesXml) = "<ConfigPropertiesXml><PropertyName1>Title</PropertyName1><PropertySource1>" + msgReceived.YourTitleField + "</PropertySource1></ConfigPropertiesXml>";
msgNvpToSp(WSS.ConfigOverwrite) = "no";
msgNvpToSp(WSS.ConfigUseClientOM) = "yes";

注意把msgReceived.YourTitleField替换成你实际接收消息里的字段,确保属性源正确取值。

3. 验证适配器和站点配置

  • 确认你用的是BizTalk 2016 FP3配套的新版SharePoint适配器:旧版适配器对HTTPS动态端口的支持有bug,FP3已经修复,但要确保适配器安装正确。
  • 测试BizTalk服务器到SharePoint站点的HTTPS连通性:用浏览器或者PowerShell的Invoke-WebRequest命令访问https://collaboration.xxx.co.uk:443/sites/...,确认没有证书问题或者重定向到HTTP的情况。

4. 检查挂起消息的上下文属性

发送后如果还有问题,查看挂起消息的上下文:

  • 重点看OutboundTransportLocation,应该显示完整的https://...:443/...地址,而不是带80的。
  • 确认WSS.ConfigUseClientOM的值是"yes",如果是"no"会回退到旧版Web服务,那HTTPS动态端口肯定用不了。

总结

本质就是wss://协议导致适配器默认走80端口,改用显式的HTTPS地址+端口,再清理冲突属性,就能解决这个“传输失败”的问题。

内容的提问来源于stack exchange,提问作者Rob Bowman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:42:41