Demander des informations opérationnelles à l’aide du protocole Junos XML
Au sein d’une session de protocole XML Junos, une application cliente peut demander des informations sur l’état actuel d’un équipement Junos. Pour demander des informations opérationnelles, une application cliente émet l’élément de balise de requête spécifique à partir de l’API XML Junos qui renvoie les informations souhaitées.
Le Tableau 1 fournit des exemples de balises de requête, qui demandent les mêmes informations que la commande CLI équivalente.
| Commande CLI | Request Tag |
|---|---|
<get-interface-information> |
show interfaces |
<get-chassis-inventory> |
show chassis hardware |
<get-system-inventory> |
show software information |
Vous pouvez déterminer la balise de requête XML Junos appropriée à l’aide de plusieurs méthodes, notamment :
-
Ajout
| display xml rpcà une commande opérationnelle dans l’interface de ligne de commande. -
Utilisation de l’application Junos XML API Explorer - Operational Tags pour rechercher une balise de commande ou de requête dans une version donnée.
Par exemple, la commande suivante affiche la balise de requête correspondant à la show interfaces commande :
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>
Pour exécuter un RPC, l’application cliente entoure un <rpc> élément d’une balise de requête. La syntaxe varie selon que la commande CLI correspondante contient ou non des options.
<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>
L’application cliente peut spécifier le format des informations renvoyées par le serveur de protocole XML Junos. En définissant l’attribut facultatif format dans la balise de demande opérationnelle d’ouverture, une application cliente peut spécifier le format de la réponse en tant que format balisé XML, qui est le texte ASCII formaté par défaut ou la notation d’objet JavaScript (JSON). Pour plus d’informations sur la spécification du format, reportez-vous à la section Spécification du format de sortie pour les demandes d’informations opérationnelles dans une session de protocole XML Junos.
Lors de l’affichage de données opérationnelles ou de configuration contenant des caractères en dehors du jeu de caractères ASCII 7 bits, l’équipement Junos échappe et code ces caractères à l’aide de la référence de caractères décimaux UTF-8 équivalente. Pour plus d’informations, consultez Fonctionnement de l’encodage de caractères sur les équipements Juniper Networks.
Si l’application cliente demande une sortie XML, le serveur de protocole XML Junos entoure sa réponse dans l’élément de balise de réponse spécifique qui correspond à l’élément de balise de demande, qui est alors entouré d’un <rpc-reply> élément de balise.
<rpc-reply xmlns:junos="URL">
<operational-response xmlns="URL-for-DTD">
<!-- Junos XML tag elements for the requested information -->
</operational-response>
</rpc-reply>
Par exemple, si l’application cliente envoie le <get-interface-information> RPC, le serveur renvoie la balise de <interface-information> réponse.
<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> ...
Pour le format XML, la balise d’ouverture de chaque réponse opérationnelle inclut l’attribut xmlns . L’attribut définit l’espace de noms XML pour les éléments de balise inclus qui n’ont pas de préfixe d’espace de noms (par exemple junos:). L’espace de noms indique quelle définition de type de document XML Junos (DTD) définit l’ensemble des éléments de balise dans la réponse.
L’API Junos XML définit des DTD distinctes pour les réponses opérationnelles des différents modules logiciels. Par exemple, la DTD pour les informations d’interface est appelée et la DTD pour les informations sur le châssis est appelée junos-interface.dtd junos-chassis.dtd. La division en DTD distinctes et espaces de noms XML signifie qu’un élément de balise portant le même nom peut avoir des fonctions distinctes en fonction de la DTD dans laquelle il est défini.
L’espace de noms est une URL de la forme suivante :
http://xml.juniper.net/junos/release-code/junos-category
Où:
-
release-code est la chaîne standard qui représente la version de Junos OS en cours d’exécution sur le périphérique de serveur de protocole XML Junos.
-
category spécifie la DTD.
Si l’application cliente demande la sortie en texte ASCII formaté, le serveur de protocole XML Junos entoure sa réponse d’une <output> balise, qui est entourée d’une <rpc-reply> balise.
<rpc-reply xmlns:junos="URL">
<output>
operational-response
</output>
</rpc-reply>
Si l’application cliente demande la sortie au format JSON, le serveur de protocole XML Junos entoure les données JSON dans l’élément <rpc-reply> de balise.
<rpc-reply xmlns="URN" xmlns:junos="URL">
operational-response
</rpc-reply>
Tableau de l’historique des modifications
La prise en charge des fonctionnalités est déterminée par la plate-forme et la version que vous utilisez. Utilisez l’Explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.