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

Workflow Manager与SharePoint 2019连接失败技术求助

SharePoint 2019 注册Workflow Manager时OAuth S2S元数据反序列化错误的解决思路

结合你给出的环境配置和错误信息,这个问题的核心是OAuth S2S元数据端点返回了非JSON内容(HTML),导致命令无法完成反序列化。下面是一步步的排查和解决方向:

你的环境背景

  • 单服务器部署的SharePoint 2019场
  • 3台已配置负载均衡的Workflow Manager服务器,仅启用HTTPS运行
  • Workflow Manager的SSL证书包含*.domain.com及所有3台服务器的FQDN
  • 所需权限已配置完成,SharePoint站点与Workflow Manager URL可双向访问

执行命令及报错详情

你运行的PowerShell命令:

Register-SPWorkflowService -SPSite "https://siteurl" -WorkflowHostUri "https://wfmurl:12290/" -Force -Verbose

抛出的错误信息:

Register-SPWorkflowService : 无法查询位于URI 'https://webappurl/_layouts/15/metadata/json/1'的OAuth S2S元数据终结点。错误详情:“反序列化类型为Microsoft.Workflow.Management.Security.OAuthS2SJsonMetadataDocument+JsonMetadataDocumentContract的对象时出错。遇到意外字符'<'。”
从服务器收到的HTTP头 - ActivityId: 6de1c881-b1ca-411d-9004-ceea397d4453. NodeId: SERVERNAME. Scope: /DEV. Client ActivityId : bdeb429f-7bb1-e0c1-d7d1-f868a175396b.
At line:1 char:1

  • Register-SPWorkflowService -SPSite https://webappurl ...
  • CategoryInfo : InvalidData: (Microsoft.Share...WorkflowService:RegisterSPWorkflowService) [Register-SPWorkflowService], InvalidRequestException
  • FullyQualifiedErrorId : Microsoft.SharePoint.WorkflowServices.PowerShell.RegisterSPWorkflowService

具体解决步骤

1. 检查元数据端点的返回内容

错误里的<字符基本说明端点返回的是HTML(比如登录页、错误页面),而非预期的JSON。你可以直接在浏览器中访问https://webappurl/_layouts/15/metadata/json/1:

  • 如果跳转到登录页:确保使用场管理员账户访问,且该账户对目标站点拥有完全控制权限;同时检查Web应用程序的身份验证设置,确认没有反向代理、ADFS等服务拦截该端点请求并强制跳转登录。
  • 如果返回500错误页面:打开SharePoint的ULS日志,用错误中的Client ActivityId : bdeb429f-7bb1-e0c1-d7d1-f868a175396b搜索定位具体服务器端错误,常见原因包括元数据服务未启动、Web.config配置异常等。

2. 验证SSL证书的信任链

虽然你的证书包含正确域名,但要确保SharePoint服务器信任Workflow Manager的证书:

  • 将Workflow Manager的根证书导入到SharePoint服务器的本地计算机 → 受信任根证书颁发机构存储中。
  • 在Workflow Manager服务器上运行Get-WFServer命令,确认证书状态正常,没有过期或吊销的情况。

3. 排查负载均衡器的配置问题

由于使用了负载均衡,先排除负载均衡的影响:

  • 尝试直接使用单台Workflow Manager服务器的FQDN执行命令,比如-WorkflowHostUri "https://wfm-server1.domain.com:12290/",如果能成功注册,说明负载均衡器的配置存在问题。
  • 检查负载均衡器是否开启了SSL卸载,如果开启了,要么禁用卸载保持端到端HTTPS,要么在Workflow Manager上配置对应的HTTP端点(但你当前仅启用HTTPS,优先考虑前者)。

4. 检查SharePoint的OAuth配置

确认SharePoint的OAuth服务状态正常:

  • 先清理旧的信任关系(如果存在):运行Unregister-SPWorkflowService -SPSite "https://siteurl" -Force,然后重新执行注册命令。
  • 运行Get-SPSecurityTokenServiceConfig命令,确认AllowOAuthOverHttp为False(因为你使用的是HTTPS),其他OAuth相关配置符合HTTPS环境要求。

5. 验证服务器间的HTTPS请求连通性

虽然你提到双向可达,但仍需确认具体请求状态:

  • 在SharePoint服务器上运行Invoke-WebRequest -Uri "https://webappurl/_layouts/15/metadata/json/1" -UseDefaultCredentials,查看返回内容和状态码,确认能获取到正确的JSON数据。
  • 同样运行Invoke-WebRequest -Uri "https://wfmurl:12290/" -UseDefaultCredentials,检查Workflow Manager端点是否正常响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 07:12:40