DocuWare Platform 7.7调用GetDocumentsResult返回HTML而非XML异常求助
DocuWare检索文档时返回HTML而非XML的异常排查
环境信息
- .NET Framework 4.8
- DocuWare.Platform.ServerClient 包版本:13.12.1
- DocuWare Platform 版本:7.7
问题代码
var docuwareEntity = new DocuwareEntity { Id = 6, Chapitre = "Chapter", SousChapitre = "Some (SousChapitre)", FileCabinetId = "FILE_CABINET_ID", Type = "DocumentType" }; var dialogExpression = new DialogExpression { Operation = DialogExpressionOperation.And, Condition = new List<DialogExpressionCondition> { DialogExpressionCondition.Create("CHAPITRE", docuwareEntity.Chapitre), DialogExpressionCondition.Create("SOUS_CHAPITRE", docuwareEntity.SousChapitre), DialogExpressionCondition.Create("TYPE_DOC", docuwareEntity.Type) }, Count = 100, SortOrder = new List<SortedField> { SortedField.Create("DATE_DOC", SortDirection.Desc) } }; var serviceConnection = ServiceConnection.Create(new Uri("http://simu/DocuWare/Platform/"), "dmina", "myPassword"); var fileCabinet = serviceConnection.GetFileCabinet(docuwareEntity.FileCabinetId); var dialogInfoItems = fileCabinet.GetDialogInfosFromSearchesRelation(); Dialog dialog = null; foreach (var dialogInfo in dialogInfoItems.Dialog.Where(dialogInfo => dialogInfo.GetDialogFromSelfRelation().DisplayName == "Admin")) { dialog = dialogInfo.GetDialogFromSelfRelation(); break; } var documentsResult = dialog.GetDocumentsResult(dialogExpression);
异常信息
DocuWare.Services.Http.Client.HttpClientRequestException: The server responds with a HTML page, but an XML document was expected.
可能的原因及排查方向
- 对话框权限不足:当前登录用户
dmina对获取到的"Admin"对话框没有搜索权限,服务器返回权限错误的HTML页面而非XML响应。需检查该对话框的权限配置,确认用户拥有搜索操作的权限。 - 字段名称不匹配:
DialogExpression中使用的字段名(如CHAPITRE、SOUS_CHAPITRE)与目标对话框内配置的字段内部名称不一致。DocuWare搜索依赖内部名称而非显示名称,需核对对话框的字段配置信息。 - 版本兼容性问题:使用的ServerClient包版本(13.12.1)对应DocuWare Platform 13.x,但对接的是7.7版本服务器,跨版本的API交互存在兼容性问题。建议降级ServerClient包到与7.7匹配的版本(DocuWare 7.7对应Client包版本为7.x系列)。
- 会话初始化异常:虽然代码创建了
ServiceConnection,但可能存在登录失败(如密码错误、服务器地址配置有误)的情况,导致后续请求未携带有效会话信息,服务器返回登录页面的HTML。可检查服务器端登录日志,或在获取fileCabinet后添加会话有效性验证。 - Dialog对象获取错误:通过
DisplayName查找对话框时,可能存在名称匹配错误,拿到了非预期的Dialog对象,其API端点无效导致请求返回错误页面。建议直接通过对话框ID获取Dialog对象,避免名称匹配的不确定性。
内容的提问来源于stack exchange,提问作者DotDeveloper
相关产品推荐
相关产品推荐

