Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utiliser le kit d’outils Java NETCONF pour analyser une réponse RPC

Après avoir soumis une demande opérationnelle ou de configuration au serveur NETCONF, le serveur répond par une réponse RPC. Vous pouvez utiliser plusieurs approches pour analyser la réponse RPC afin d’extraire les informations souhaitées.

Il existe deux approches pour analyser une réponse XML dans le contexte de la boîte à outils Java NETCONF :

  • Obtenez l’objet et utilisez les méthodes d’analyse org.w3c.dom.Document natives disponibles dans les bibliothèques de classes Java standard pour un Document objet.

  • Utilisez les findValue(List list) méthodes and findNodes(List list) disponibles dans la net.juniper.netconf.XML classe sur l’objet XML.

Pour la première approche, appelez la getOwnerDocument() méthode sur l’objet reply pour renvoyer l’objet Document .

Vous pouvez ensuite utiliser des méthodes dans les bibliothèques Java standard sur l’objet résultant Document . Cette méthode est utile pour la flexibilité et les options disponibles en termes de méthodes de bibliothèque Java standard.

Pour la deuxième approche, la net.juniper.netconf.XML classe contient les findValue(List list) méthodes et findNodes(List list) , que vous pouvez utiliser pour analyser l’objet XML. Vous devez inclure l’instruction « import java.util.* ; » dans le code de votre programme pour utiliser les fonctionnalités de l’interface List ou pour créer un Arrays objet comme indiqué dans les exemples correspondants.

Étudiez la réponse RPC suivante pour la get-interface-information demande opérationnelle :

Analyse d’une réponse RPC à l’aide de findValue()

Vous pouvez utiliser la méthode pour déterminer la valeur d’un élément donné à n’importe quel niveau de la findValue() hiérarchie. Dans l’exemple de réponse RPC pour get-interface-information, supposons que vous souhaitiez déterminer la valeur de l’élément de l’interface <admin-status> physique ge-0/0/0. Étant conscient du format de la réponse RPC, vous pouvez extraire ces informations à l’aide du code suivant :

Notez que le nom de l’interface utilise un caractère tilde (~) pour identifier l’élément particulier. L’exécution de ce code imprime « up » à la sortie standard.

Analyse d’une réponse RPC à l’aide de findNodes()

Vous pouvez utiliser la méthode pour obtenir la findNodes() liste de tous les nœuds d’une hiérarchie donnée en tant qu’objets org.w3c.dom.Node . L’extrait de code suivant obtient une liste de tous les <physical-interface> nœuds sous l’élément <interface-information> dans la hiérarchie :

Toutefois, vous souhaiterez peut-être extraire un nœud spécifique. Le code suivant renvoie la hiérarchie pour l’interface ge-0/0/1 uniquement :

Exemple : analyse d’une réponse RPC à l’aide de findNodes() (détaillé)

L’exemple suivant pousse cette approche un peu plus loin et analyse les nœuds enfants pour extraire et imprimer le contenu des éléments uniquement <name> . Cet exemple de code se concentre sur la partie du programme qui analyse la réponse RPC et ne représente pas un programme complet.