跳到主要内容

SEMP错误处理

在请求失败的情况下,响应的 meta 部分的 responseCode 字段中会提供一个 HTTP 错误代码.该值本身并不提供有关失败原因的详细信息,除了将责任归咎于客户端(4xx)或服务器(5xx).

返回的 error 对象提供了失败原因的更多详细信息,其中包括 codestatusdescription.错误代码是唯一的整数,用于枚举可能的错误条件.现有错误代码的含义不会改变,但错误代码集将随着时间的推移而扩展,一些代码可能会变得过时.为了可读性,事件代理返回一个简短的错误状态字符串和可选的更长的问题描述,以及错误代码.这些字符串可能会随着时间的推移而变化,因此 Solace 建议仅将其用于日志记录和调试.

以下表格列出了您可能会遇到的一些常见错误代码:

错误代码错误状态描述
2FAIL用于各种失败条件的通用错误代码.描述文本将解释开发人员可以采取的进一步措施以解决此条件.
6NOT_FOUND正在访问的对象或父对象不存在.
11INVALID_PARMETER对象中存在意外的属性或参数.
14NOT_SUPPORTED表示请求或属性不受支持.
27PARSE_ERROR请求的 HTML 格式或有效载荷的 JSON 内容存在错误.请参阅描述以获取有关如何解决此格式错误的进一步详细信息.
72UNAUTHORIZED用户没有执行请求所需的足够访问级别.
89NOT_ALLOWED由于代理的配置不在可以支持请求的状态,请求无法完成.
228MISSING_PARAMETER请求中的一些属性需要与其他属性的某些组合一起存在.
549SEMP_RESPONSE_BUFFER_ALLOCATION_FAILED请求的响应很大,事件代理无法分配足够的内部资源来缓冲它.使用分页以避免导致此错误的过大响应.

处理未来的错误代码

随着时间的推移,SEMP API 将继续发展并引入新的、更具体的错误代码,以便于开发人员理解和使用 SEMP.您的应用程序应始终维护一个默认错误处理条件,以处理新代码以保持向前兼容.处理默认条件的方式应类似于处理通用失败条件的方式.