Analise a resposta do servidor NETCONF
Em uma sessão netconf com um dispositivo executando o Junos OS, um aplicativo do cliente envia RPCs para o servidor NETCONF para solicitar informações e gerenciar a configuração no dispositivo. O servidor NETCONF encerra sua resposta a cada solicitação do cliente em um par separado de tags de abertura <rpc-reply>
e fechamento </rpc-reply>
. Cada resposta constitui um documento XML bem formado.
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" \ xmlns:junos="http://xml.juniper.net/junos/release/junos" \ [echoed attributes]> <!-- tag elements representing a response --> </rpc-reply> ]]>]]>
O xmlns
atributo na tag de abertura <rpc-reply>
define o namespace para elementos de tag fechados que não têm o junos:
prefixo em seus nomes e que não estão fechados em uma tag de contêiner infantil que tem o xmlns
atributo com um valor diferente.
A partir do Junos OS Release 15.1, se você configurar a rfc-compliant
declaração no dispositivo, o servidor NETCONF declara explicitamente o namespace NETCONF, vinculado ao nc
prefixo, e qualifica todas as tags NETCONF em suas respostas com o prefixo.
O xmlns:junos
atributo define o espaço de nome padrão para elementos de tag Junos XML fechados que são qualificados pelo junos:
prefixo. A release variável no URI representa a versão do Junos OS que está em execução no dispositivo de servidor NETCONF, por exemplo, 20.4R1.
Os aplicativos do cliente devem incluir código para analisar o fluxo de elementos de tag de resposta provenientes do servidor NETCONF, processá-los conforme chegam ou armazená-los até que a resposta esteja completa. O servidor NETCONF retorna três classes de respostas:
Respostas operacionais
As respostas operacionais são respostas a solicitações de informações sobre o status de uma plataforma de comutação, roteamento ou segurança. Eles correspondem à saída dos comandos operacionais da CLI.
A API Junos XML define elementos de tag de resposta para todos os elementos de tag de solicitação operacional definidos. Por exemplo, o servidor NETCONF devolve as informações solicitadas pela <get-interface-information>
tag em um elemento de tag de resposta chamado <interface-information>
, e devolve as informações solicitadas pela <get-chassis-inventory>
tag em uma tag de resposta chamada <chassis-inventory>
. As respostas operacionais também podem ser devolvidas em ASCII formatado, que é fechado dentro de um output
elemento, ou em formato JSON. Para obter mais informações sobre a formatação de respostas operacionais, consulte Especifique o formato de saída para solicitações de informações operacionais em uma sessão NETCONF.
A resposta da amostra a seguir inclui informações sobre a interface ge-2/3/0. O namespace indicado pelo xmlns
atributo na tag de abertura <interface-information>
é para informações de interface para o Junos OS Release 20.4. As tags de abertura aparecem em duas linhas aqui apenas para legibilidade:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"\ xmlns:junos="http://xml.juniper.net/junos/20.4R1/junos"> <interface-information \ xmlns="http://xml.juniper.net/junos/20.4R1/junos-interface"> <physical-interface> <name>ge-2/3/0</name> <!-- other data tag elements for the ge-2/3/0 interface - -> </physical-interface> </interface-information> </rpc-reply> ]]>]]>
Para obter mais informações sobre o xmlns
atributo e o conteúdo dos elementos da tag de resposta operacional, consulte solicitação de informações operacionais usando o NETCONF. Para obter um resumo dos elementos da tag de resposta operacional, consulte a referência do desenvolvedor operacional da API Junos XML.
Respostas às informações de configuração
As respostas das informações de configuração são respostas a solicitações de informações sobre a configuração atual do dispositivo. A API Junos XML define um elemento de tag para cada declaração de contêiner e leaf na hierarquia de configuração.
A resposta da amostra a seguir inclui as informações no nível de [edit system login]
hierarquia na hierarquia de configuração. Para brevidade, a amostra mostra apenas um usuário definido nesse nível. A tag de abertura <rpc-reply>
aparece em duas linhas apenas para legibilidade. Para obter informações sobre os atributos na tag de abertura <configuration>
, consulte Especifique a fonte para solicitações de informações de configuração usando o NETCONF.
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"\ xmlns:junos="http://xml.juniper.net/junos/20.4R1/junos"> <data> <configuration attributes> <system> <login> <user> <name>admin</name> <full-name>Administrator</full-name> <!-- other data tag elements for the admin user --> </user> </login> </system> </configuration> </data> </rpc-reply> ]]>]]>
Respostas de mudança de configuração
As respostas de mudança de configuração são respostas a solicitações que alteram o estado ou o conteúdo da configuração do dispositivo. O servidor NETCONF indica a execução bem-sucedida de uma solicitação devolvendo a <ok/>
tag dentro do <rpc-reply>
elemento tag:
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
Se a operação falhar, o <rpc-reply>
elemento tag em vez disso inclui um <rpc-error>
elemento que descreve a causa da falha. Para obter informações sobre erros de manuseio, consulte Lidar com um erro ou aviso em uma sessão NETCONF.
rfc-compliant
declaração no dispositivo, o servidor NETCONF declara explicitamente o namespace NETCONF, vinculado ao
nc
prefixo, e qualifica todas as tags NETCONF em suas respostas com o prefixo.