处理 NETCONF 会话中的错误或警告
在运行 Junos OS 的 NETCONF 会话中,客户端应用程序将 RPC 发送到 NETCONF 服务器,向设备请求信息并管理配置。NETCONF 服务器会向每个客户端请求发送响应。如果服务器遇到错误情况,它将发出一个包含描述错误的 <rpc-error> 子元素的元素。
<rpc-reply xmlns="URN" xmlns:junos="URL">
<rpc-error>
<error-severity>error-severity</error-severity>
<error-path>error-path</error-path>
<error-message>error-message</error-message>
<error-info>
<bad-element>command-or-statement</bad-element>
</error-info>
<rpc-error>
</rpc-reply>
]]>]]>
<bad-element> 标识发生错误或警告时正在处理的 命令或配置语句。对于配置语句, <error-path> 标记元素中括住的标记元素指定该 <rpc-error> 语句的父层层次结构级别。
<error-message> 介绍了自然语言文本字符串中的错误或警告。
<error-path> 指定了到发生错误或警告Junos OS配置层次结构级别的路径,形式为"CLI模式横幅"。
<error-severity> 指示导致 NETCONF 服务器返回标记元素 <rpc-error> 的事件的严重程度。两个可能的值为 error warning 和 。
服务器执行以下任何操作时发生错误,在每种情况下,服务器可以发送不同的子标记元素组合:
处理客户申请提交的运营申请
根据客户端应用程序的要求打开、锁定、更改、提交或关闭配置
解析客户端应用程序在标记元素中提交的
<edit-config>配置数据
客户端应用程序必须做好随时接收和处理 <rpc-error> 标记元素的准备。任何已接收到的响应标记元素中与当前请求相关的信息可能不完整。客户端应用程序可以包括逻辑,用于决定是丢弃还是保留信息。
当标记元素具有值时,通常的响应是客户端应用程序 <error-severity> error 丢弃信息并终止。当标记元素具有 值时,表示问题的严重性较低,则通常的响应是客户端应用程序记录警告或将警告传递给用户,并继续解析服务器的响应。 <error-severity> warning
从 Junos OS 版 17.4R3、18.2R2、18.3R2 和 18.4R1 开始,在层次结构级别配置语句以实施 NETCONF 服务器的某些行为时 rfc-compliant [edit system services netconf] ,NETCONF <rpc-error> 服务器无法返回同时包含元素和元素的 RPC 回复。 <ok/> 如果操作成功,但服务器回复中将包含一个或多个具有严重性级别警告的元素,以及元素,则这些警告 <rpc-error> <ok/> 将省略。