Solicitar informações operacionais usando o protocolo Junos XML
Em uma sessão de protocolo Junos XML, um aplicativo do cliente pode solicitar informações sobre o status atual de um dispositivo Junos. Para solicitar informações operacionais, um aplicativo do cliente emite o elemento de tag de solicitação específico da API Junos XML que devolve as informações desejadas.
A Tabela 1 fornece exemplos de tags de solicitação, que solicitam as mesmas informações que o comando CLI equivalente..
Solicite | o comando tag CLI |
---|---|
<get-interface-information> |
show interfaces |
<get-chassis-inventory> |
show chassis hardware |
<get-system-inventory> |
show software information |
Você pode determinar a tag de solicitação de Junos XML apropriada usando vários métodos, incluindo:
-
Anexando
| display xml rpc
a um comando operacional na CLI. -
Usando o aplicativo Junos XML API Explorer — Marcas operacionais para procurar uma tag de comando ou solicitação em uma determinada versão.
Por exemplo, o comando a seguir exibe a tag de solicitação correspondente ao show interfaces
comando:
user@router> show interfaces | display xml rpc <rpc-reply xmlns:junos="http://xml.juniper.net/junos/23.4R1.9/junos"> <rpc> <get-interface-information> </get-interface-information> </rpc> </rpc-reply>
Para executar um RPC, o aplicativo do cliente inclui uma tag de solicitação em um <rpc>
elemento. A sintaxe depende se o comando CLI correspondente tem alguma opção incluída.
<rpc> <!-- If the command does not have options --> <operational-request/> <!-- If the command has options --> <operational-request> <!-- tag elements representing the options --> </operational-request> </rpc>
O aplicativo do cliente pode especificar o formato das informações devolvidas pelo servidor de protocolo Junos XML. Ao definir o atributo opcional format
na tag de solicitação operacional de abertura, um aplicativo do cliente pode especificar o formato da resposta como formato XML taged, que é o texto ASCII padrão, formatado ou Notação de objetos JavaScript (JSON). Para obter mais informações sobre como especificar o formato, consulte Especifique o formato de saída para solicitações de informações operacionais em uma sessão de protocolo Junos XML.
Ao exibir dados operacionais ou de configuração que contêm caracteres fora do conjunto de caracteres ASCII de 7 bits, o dispositivo Junos escapa e codifica esses caracteres usando a referência de caracteres decimais UTF-8 equivalente. Para obter mais informações , veja como a codificação de caracteres funciona nos dispositivos da Juniper Networks.
Se o aplicativo do cliente solicitar a saída XML, o servidor de protocolo Junos XML inclui sua resposta no elemento de tag de resposta específico que corresponde ao elemento de tag de solicitação, que é então fechado em um <rpc-reply>
elemento de tag.
<rpc-reply xmlns:junos="URL"> <operational-response xmlns="URL-for-DTD"> <!-- Junos XML tag elements for the requested information --> </operational-response> </rpc-reply>
Por exemplo, se o aplicativo cliente enviar o <get-interface-information>
RPC, o servidor devolverá a tag de <interface-information>
resposta.
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/23.4R1.9/junos"> <interface-information xmlns="http://xml.juniper.net/junos/23.4R1.9/junos-interface" junos:style="normal"> <physical-interface> <name>ge-0/0/0</name> <admin-status junos:format="Enabled">up</admin-status> <oper-status>up</oper-status> ...
Para o formato XML, a tag de abertura para cada resposta operacional inclui o xmlns
atributo. O atributo define o namespace XML para os elementos de tag fechados que não têm um prefixo namespace (como junos:
). O namespace indica qual definição do tipo de documento (DTD) do Junos XML define o conjunto de elementos de tag na resposta.
A API Junos XML define DTDs separados para respostas operacionais de diferentes módulos de software. Por exemplo, o DTD para informações de interface é chamado junos-interface.dtd
e o DTD para informações do chassi é chamado junos-chassis.dtd
. A divisão em DTDs separados e namespaces XML significa que um elemento de tag com o mesmo nome pode ter funções distintas dependendo em que DTD ele é definido.
O namespace é uma URL do seguinte formulário:
http://xml.juniper.net/junos/release-code/junos-category
Onde:
-
release-code é a cadeia padrão que representa a versão do Junos OS que está sendo executada no dispositivo de servidor de protocolo Junos XML.
-
category especifica o DTD.
Se o aplicativo do cliente solicitar a saída em texto ASCII formatado, o servidor de protocolo Junos XML inclui sua resposta em uma <output>
tag, que está fechada em uma <rpc-reply>
tag.
<rpc-reply xmlns:junos="URL"> <output> operational-response </output> </rpc-reply>
Se o aplicativo do cliente solicitar a saída no formato JSON, o servidor de protocolo Junos XML inclui os dados do JSON no <rpc-reply>
elemento tag.
<rpc-reply xmlns="URN" xmlns:junos="URL"> operational-response </rpc-reply>
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.