Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

启动 Junos XML 协议会话

每个 Junos XML 协议会话都以握手开始,其中 Junos XML 协议服务器和客户端应用程序指定它们使用的 XML 版本和 Junos XML 管理协议的版本。每一方都会解析另一方发出的版本信息,并使用这些信息来确定它们是否可以成功通信。具体来说,客户端应用会发出 <?xml?> PI 和打开 <junoscript> 标记。以下部分介绍如何启动 Junos XML 协议会话:

发出 <?xml?> PI

客户端应用从发出 <?xml?> PI 开始。

注意:

在以下示例中(以及客户端应用程序发出的标记元素本文档中的所有示例中),使用粗体字体突出显示文本中讨论的标记序列部分。

属性如下所示。有关当前版本的 Junos XML 管理协议中可接受的属性列表,请参阅 验证软件兼容性

  • 版本 — 客户端应用程序发出的标记元素使用其符合的 XML 版本

  • 编码 — 客户端应用程序使用并可以理解的标准化字符集

在以下示例中的客户端应用 <?xml?> PI 中, version="1.0" 属性指示应用程序发出符合 XML 1.0 规范的标记元素。属性 encoding="us-ascii" 表示客户端应用程序使用的是美国国家标准协会 (ANSI) 标准化的 7 位 ASCII 字符集。有关 ANSI 标准的更多信息,请参阅 http://www.ansi.org/

注意:

如果应用程序在发出打开<junoscript>标记之前未能发出 <?xml?> PI,Junos XML 协议服务器会发出一条错误消息,并立即关闭会话和连接。

发出打开<junoscript>标记

然后,客户端应用程序会发出其打开 <junoscript> 标记,其语法如下:

属性如下所示。有关当前版本的 Junos XML 管理协议中可接受的属性列表,请参阅 验证软件兼容性

version

(必填)指定客户端应用程序使用的 Junos XML 管理协议的版本。

hostname

(可选)命名运行客户端应用程序的计算机。仅在诊断问题时才会使用这些信息。Junos XML 协议不支持建立可信主机关系或以其他方式根据客户端主机名更改 Junos XML 协议服务器行为。

junos:key

(可选)请求 Junos XML 协议服务器指示子配置元素是否是其父元素的标识符。唯一可接受的值是“key”。有关更多信息,请参阅 使用 Junos XML 协议请求配置元素的标识符指示器

release

(可选)标识设计了客户端应用程序的 Junos OS 版本(并按暗示,为 Junos XML API)。此属性的值表示,客户端应用程序可与支持该版本的 Junos XML API 的 Junos XML 协议服务器成功互操作。换句话说,它表示客户端应用程序会从该 API 发出请求标记元素,并知道如何解析该 API 中的响应标记元素。如果应用程序不包含此属性,Junos XML 协议服务器会发出其支持的 Junos XML API 中的标记元素。

对于属性的值 release ,请使用 Junos OS 版本号的标准符号。例如,值 20.4R1 表示 Junos OS 20.4 版 的初始版本。

在以下示例中的客户端应用程序的打开 <junoscript> 标记中 version="1.0" ,属性指示其使用的是 Junos XML 协议 1.0 版。属性 hostname="client1" 指示客户端应用正在运行名为 client1 的机器上。属性 release="20.4R1" 表示交换机、路由器或安全设备正在运行 Junos OS 20.4 版的初始版本。

注意:

如果应用程序在发出打开<junoscript>标记之前未发出 <?xml?> PI,Junos XML 协议服务器将发出类似以下内容的错误消息,并立即关闭会话和连接:

有关该标记的更多信息 <xnm:error> ,请参阅 在 Junos XML 协议会话中处理错误或警告

解析 Junos XML 协议服务器的 <?xml?> PI

Junos XML 协议会话开始时,Junos XML 协议服务器将 <?xml?> 发出 PI 和打开 <junoscript> 标记。

PI 的 <?xml?> 语法如下所示:

属性如下所示。有关当前版本的 Junos XML 管理协议中可接受的属性列表,请参阅 验证软件兼容性

version

Junos XML 协议服务器发出的标记元素使用的 XML 版本

encoding

Junos XML 协议服务器使用并可以理解的标准化字符集

在以下示例中的 Junos XML 协议服务器 <?xml?> PI 中 version="1.0" ,属性指示服务器发出符合 XML 1.0 规范的标记元素。属性 encoding="us-ascii" 表示服务器正在使用由 ANSI 标准化的 7 位 ASCII 字符集。有关 ANSI 标准的更多信息,请参阅 http://www.ansi.org/

解析 Junos XML 协议服务器的开放<junoscript>标记

发出 <?xml?> PI 后,服务器随后发出其打开 <junoscript> 标记,该标记的形式如下(该标记仅显示为多行,以便于清晰阅读):

属性如下所示:

hostname

运行 Junos XML 协议服务器的设备名称。

os

运行 Junos XML 协议服务器的设备的操作系统。值始终为 JUNOS。

release

Junos XML 协议服务器派生的 Junos OS 版本的标识符,该标识符旨在理解。它可能正在使用运行 Junos XML 协议服务器的设备上。属性的值 release 使用瞻博网络软件版本号的标准符号。例如,值 20.4R1 表示 Junos OS 20.4 版的初始版本。

schemaLocation

用于 Junos OS 配置层次结构的 XML 模式语言表示的 XML 命名空间。

version

Junos XML 协议服务器使用的 Junos XML 管理协议版本。

xmlns

<junoscript> 标记元素括起来的标记元素的 XML 命名空间,其名称上没有前缀(即 Junos XML 标记元素的默认命名空间)。值是表单 http://xml.juniper.net/xnm/version/xnm的 URL,其中 version 表示 1.1 等字符串。

xmlns:junos

由名称上具有前缀的标记元素括起来 <junoscript> 的标记元素的 junos: XML 命名空间。值是表单 http://xml.juniper.net/junos/release-code/junos的 URL,其中 release-code 表示 Junos OS 版本的标准字符串。例如,值 20.4R1 表示 Junos OS 20.4 版 的初始版本。

在以下 Junos XML 协议服务器的开放 <junoscript> 标记示例中, version 属性表示服务器正在使用 Junos XML 协议 1.0 版,属性 hostname 表示路由器的名称是大设备。 osrelease 属性表示设备正在运行 Junos OS 20.4 版 的初始版本。属性 xmlns 指示 Junos XML 标记元素的默认命名空间为 http://xml.juniper.net/xnm/1.1/xnm 。属性 xmlns:junos 指示具有前缀的标记元素的 junos: 命名空间为 http://xml.juniper.net/junos/20.4R1/junos 。该标记显示在多行上,只是为了清晰易读。

验证软件兼容性

<?xml?>通过交换和<junoscript>元素,客户端应用程序和 Junos XML 协议服务器可以确定它们是否正在运行 Junos XML 协议会话期间使用的不同软件版本。不同版本有时不兼容,根据 Junos XML 协议约定,运行更高版本软件的一方将决定如何处理任何不兼容性。为了获得完全自动化的性能,可在客户端应用程序中包括一些代码,用于确定其软件版本是否晚于 Junos XML 协议服务器的版本。决定当应用程序的版本更新时,以下哪个选项适合,并实施相应的响应:

  • 忽略 Junos 版本中的差异,并且不改变客户端应用程序的行为以适应 Junos XML 协议服务器。Junos 版本的不同不一定会使服务器和客户端不兼容,因此这通常是一种有效的方法。

  • 将标准行为修改为与 Junos XML 协议服务器兼容。例如,如果客户端应用正在运行更高版本的 Junos OS,则它可以选择仅发出标记元素,这些标记元素表示 Junos XML 协议服务器版本的 Junos OS 中可用的软件功能。

  • 结束 Junos XML 协议会话并终止连接。如果您决定不切实际地适应 Junos XML 协议服务器的软件版本,则这样做是适当的。有关说明,请参阅 结束 Junos XML 协议会话和关闭连接

表 1 指定了在 Junos XML 管理协议 1.0 版中执行 Junos XML 协议会话初始化期间用于传达版本信息的 PI 或打开标记和属性。

表 1:Junos XML 协议 1.0 PI 和打开标记

软件和版本

PI 或标记

属性

XML 1.0

<?xml?>

version="1.0"

ANSI 标准化 7 位 ASCII 字符集

<?xml?>

encoding="us-ascii"

Junos XML 协议 1.0

<junoscript>

version="1.0"

Junos OS 版本

<junoscript>

release="m.nZb"例如:release="10.3R1"