向 Junos XML 协议服务器发送请求
在与运行 Junos OS 的设备进行 Junos XML 协议会话中,客户端应用程序会按顺序发出开放 <rpc>
标记、一个或多个表示特定请求的标记元素和结束 </rpc>
标记,从而发起请求。
<rpc> <!--tag elements representing a request--> </rpc>
应用程序将每个请求分别封装在单独的开始 <rpc>
和结束 </rpc>
标记对中。每个请求都必须通过仅包含合规且有序的标记元素来构成格式正确的 XML 文档。Junos XML 协议服务器会忽略标记流中的标记元素之间出现的任何新行字符、空格或其他空格字符,但它会保留标记元素中的空格。
或者,客户端应用程序可以在每个请求的开始<rpc>
标记中包含表单attribute-name="value"
的一个或多个属性。Junos XML 协议服务器在打开<rpc-reply>
标记中回显其响应的每个属性不变。
客户端应用可以使用此功能在分配唯一标识符的每个打开 <rpc>
请求标记中包含一个属性来关联请求和响应。Junos XML 协议服务器在其打开 <rpc-reply>
标记中回显属性,以便于将响应映射到发起的请求。客户端应用程序可以自由定义属性名称,但以下说明中另有说明除外。
属性 xmlns:junos
名称保留。Junos XML 协议服务器将属性设置为打开 <rpc-reply>
标记上的相应值,因此客户端应用程序不得在打开 <rpc>
标记中发出属性。
尽管操作和配置请求在概念上属于不同的类,但 Junos XML 协议会话没有与 CLI 操作和配置模式对应的不同模式。每个请求标记都包含在自己的 <rpc>
标记中,因此客户端应用程序可以自由地交替操作和配置请求。客户端应用程序可以发出三类请求:
操作请求
操作请求 是有关运行 Junos OS 的设备状态信息的请求。操作请求对应于 Junos OS CLI 操作模式命令。Junos XML API 为许多 CLI 命令定义一个请求标记。例如,标记 <get-interface-information>
与 show interfaces
命令相对应,标记 <get-chassis-inventory>
请求与命令相同的信息 show chassis hardware
。
以下 RPC 请求有关接口 ge-2/3/0 的详细信息:
<rpc> <get-interface-information> <interface-name>ge-2/3/0</interface-name> <detail/> </get-interface-information> </rpc>
有关操作请求的更多信息,请参阅 使用 Junos XML 协议请求操作信息。有关当前 Junos OS 版本中可用的 Junos XML 请求标记元素的信息,请参阅 Junos XML API 操作开发人员参考 和 XML API Explorer。
配置信息请求
配置信息请求 是有关设备的候选配置、专用配置、瞬时配置或提交的配置(当前在路由、交换或安全平台上处于活动状态的配置)的信息的请求。当对候选配置进行未提交的更改时,候选配置和提交的配置会相异。
Junos XML 协议定义 <get-configuration>
检索配置信息的操作。Junos XML API 为配置层次结构中的每个容器和叶语句定义一个标记元素。
以下示例说明如何在候选配置中请求有关 [edit system login]
层次结构级别的信息:
<rpc> <get-configuration> <configuration> <system> <login/> </system> </configuration> </get-configuration> </rpc>
有关配置信息请求的更多信息,请参阅 使用 Junos XML 协议请求配置数据。有关 Junos XML 配置标记元素的摘要,请参阅 Junos XML API 配置开发人员参考 和 XML API Explorer。
配置更改请求
配置更改请求 是更改配置或提交这些更改以在运行 Junos OS 的设备上主动使用的请求。Junos XML 协议定义了 <load-configuration>
更改配置信息的操作。Junos XML API 为 Junos OS 配置指南中描述的每个 CLI 配置语句定义一个标记元素。
以下示例说明如何在候选配置中的层次结构级别上创建新的 admin
[edit system login]
Junos OS 用户帐户:
<rpc> <load-configuration> <configuration> <system> <login> <user> <name>admin</name> <full-name>Administrator</full-name> <class>superuser</class> </user> </login> </system> </configuration> </load-configuration> </rpc>
有关配置更改请求的更多信息,请参阅 使用 Junos XML 协议请求配置更改 和使用 Junos XML 协议提交候选配置。有关 Junos XML 配置标记元素的摘要,请参阅 Junos XML API 配置开发人员参考 和 XML API Explorer。