Office Online Server自定义WOPI集成失败问题求助
解决方案:OfficeServiceException "ServiceInstanceFinderAdapter did not return data on first request"
1. 验证OOS服务实例注册状态
- 以管理员身份登录OOS服务器,打开PowerShell
- 执行命令:
Get-OfficeWebAppsFarm- 检查
Machines列表是否包含当前服务器的正确主机名(不能是未解析的IP或别名) - 确认
InternalURL和ExternalURL配置与网络场景匹配(内网环境下InternalURL需确保WOPI主机可访问)
- 检查
- 若服务器未正确注册到农场,先移除再重新加入:
Remove-OfficeWebAppsMachine New-OfficeWebAppsMachine -MachineName <服务器主机名>
2. 检查WOPI主机信任配置
- 确认OOS已将你的WOPI主机加入信任列表:
- 执行
Get-OfficeWebAppsHost,查看列表中是否存在你的WOPI主机域名/IP - 若不存在,添加信任:
New-OfficeWebAppsHost -Domain <你的WOPI主机域名或IP> - 同时确认OOS与WOPI主机之间的防火墙未拦截80/443端口(OOS默认通信端口)
- 执行
3. 重置OOS服务实例缓存
这个错误常与缓存失效相关,按以下步骤操作:
- 停止所有Office Online相关服务:
Stop-Service OfficeWebApps* - 删除缓存文件:找到路径
C:\ProgramData\Microsoft\OfficeWebApps\Working\d,删除该文件夹下所有内容 - 重启服务并等待启动完成(约5-10分钟):
Start-Service OfficeWebApps*
4. 验证OOS内部服务通信
- 打开事件查看器,定位到
应用程序和服务日志 -> Microsoft -> Office Web Apps,查找是否有服务通信失败的关联错误 - 执行
nslookup <服务器主机名>,确认OOS服务器能正确解析自身主机名,返回IP与实际一致
5. 检查WOPI嵌入URL格式
确保生成的嵌入URL符合规范(即使之前未收到请求,格式错误也会导致OOS提前终止请求):
- 正确格式示例:
http://<OOS服务器>/hosting/dialog/action=view&wopiurl=<URL编码后的WOPI文件地址>&access_token=<有效令牌> - 在OOS服务器上用浏览器直接访问WOPI主机的
/wopi/files/<fileId>接口,确认能正常返回文件元数据
6. 修复IIS应用池配置
- 打开OOS服务器的IIS管理器,找到
OfficeWebApps应用池:- 确认.NET CLR版本为
v4.0,托管管道模式为集成 - 进入高级设置,确认应用池标识为
LocalSystem(或具备足够权限的账户) - 回收应用池后重启IIS:
iisreset
- 确认.NET CLR版本为
内容的提问来源于stack exchange,提问作者Fábio Vicente
相关产品推荐
相关产品推荐

