XML数据故障诊断
General Profile Sources是在Interact中管理用户的好方法,但在此过程中可能会出现一些问题。
API端点要做的第一件事是根据模式验证XML数据。如果数据文件没有通过验证过程,那么API将返回一个相关的错误消息。这意味着来自API的响应通常会提供一个很好的错误消息,指导您在XML中查找问题的位置。
我们建议,在将XML文件发送到您的交互实例之前,您自己根据模式验证XML文件。这可能有助于在将数据文件发送到Interact之前解决许多验证问题。
下面的文本显示了来自API的错误响应
{"Message":"请求无效","ModelState":{"UMILogicError":["文件与模式相比无效。"元素“users”的内容不完整。可能的元素列表:'user'。"]}}
这里的JSON有一个ModelState。UMILogicError的错误文本描述了实际错误。如果您使用PowerShell脚本来实现这一点,那么屏幕上的显示就不是很好了,但它仍然显示相关消息。
下面列出的是我们在客户生成XML时看到的一些常见错误,以及如何解决这些问题雷竞技rat
UMI消息 | 这是什么意思 | 如何解决 |
---|---|---|
与模式相比,该文件无效。缺少必需的属性“username”。 | 这意味着XML中的元素缺少一个名为“username”的强制属性。 这里的属性是'username',但也可以是任何强制属性。 |
检查应该具有指定属性的元素(这在模式文件中有详细说明可以在这里) |
与模式相比,该文件无效。元素“user”的内容不完整。可能的元素列表:'additionalfields'。 | 这意味着XML中有一个元素(在本例中为'user')缺少强制子元素(在本例中为'additionalfields')。 | 检查每个元素中至少有必需的子元素。这在模式文件中也有详细说明。 |
指定的域与XML中提供的域不匹配。 | 这意味着XML中syncoptions元素中的域属性与交互中定义的概要文件源的名称不匹配 | 确保Interact中的概要文件源的名称与syncoptions元素中的域属性相匹配。 |
此请求的授权已被拒绝。 | 这通常意味着在交互中的Profile Source中指定的authtoken与API POST中的X-ApiKey头值不匹配 | 确保向交互发送XML数据的POST请求有一个名为X-ApiKey的头,并且它的值与Profile Source交互的授权令牌相匹配 |
与模式相比,该文件无效。'UserCount'属性无效-根据其数据类型,值"无效 'http://www.w3.org/2001/XMLSchema:integer-字符串"不是一个有效的整数值。 |
这通常意味着Schema为属性指定了特定的数据类型,但是XML文件中的数据与之不匹配。在这种情况下,UserCount应该是一个整数,但传递的值是一个无效的空字符串 | 确保所有数据类型都是有效的,并且与模式匹配 |
更新 大约6年前