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.