NETCONF サーバー レスポンスを解析する
Junos OS を実行しているデバイスとの NETCONF セッションで、クライアント アプリケーションが RPC を NETCONF サーバーに送信して、デバイスの情報を要求して管理します。NETCONF サーバーは、各クライアント リクエストへの応答を、個別の開始タグと終了タグのペアで <rpc-reply>
囲 </rpc-reply>
います。各応答は、形式が正しい XML 文書として構成されています。
<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> ]]>]]>
開始 xmlns
タグ <rpc-reply>
junos:
xmlns
の属性は、名前にプレフィックスが含第していない、異なる値を持つ属性を持つ子コンテナ タグに含されていない、囲み込まれたタグ要素の名前空間を定義します。
Junos OSリリース15.1 rfc-compliant
から、デバイスでステートメントを設定すると、NETCONFサーバーは、プレフィックスにバインドされたNETCONF nc
名前空間を明示的に宣言し、プレフィックス付きの返信ですべてのNETCONFタグの資格を取得します。
この xmlns:junos
属性は、プレフィックスで指定された XML Junosを囲む XML タグ要素のデフォルトの名前空間を定義 junos:
します。 release この変数は、例えば、NETCONF サーバー デバイスJunos OS実行されているサーバー リリースを表20.4R1。
クライアント アプリケーションには、NETCONF サーバーから送信される応答タグ要素のストリームを解析するためのコードを含める必要があります。クライアント アプリケーションは、NETCONF サーバーからのデータを処理するか、応答が完了するまでそれらを保存する必要があります。NETCONF サーバーは、次の 3 つの応答クラスを返します。
運用上の対応
運用上の応答 は、スイッチング、ルーティング、またはセキュリティ プラットフォームの状態に関する情報を要求する応答です。これらのコマンドは、アプリケーションのCLI出力に対応しています。
XML API Junos定義された動作リクエストタグ要素すべてについてレスポンスタグ要素を定義します。たとえば、NETCONF <get-interface-information>
<get-chassis-inventory>
<interface-information>
サーバーは、 という応答タグ要素のタグによって要求された情報を返し、 という応答タグでタグによって要求された情報を返します<chassis-inventory>
。操作上の応答は、要素内または JSON 形式で囲まれた形式の ASCII output
で返す場合も可能です。運用上の応答のフォーマットについて詳しくは、 NETCONF セッションで運用情報リクエストの出力形式を指定 する を参照してください。
次のサンプル応答には、インターフェイス ge-2/3/0 に関する情報が含まれています。開始タグの属性で示xmlns
<interface-information>
される名前空間は、リリース20.4のインターフェイス情報Junos OS用です。開始タグは、ここでは読み取り専用としてのみ表示されます。
<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> ]]>]]>
運用対応タグ要素の属性 xmlns
と内容の詳細については、「 NETCONF を使用した運用情報の要求 」 を参照してください。運用対応タグ要素の要約については、「 XML API Operational Developer Reference 」をJunos参照してください。
設定情報の応答
設定情報への応答 は、デバイスの現在の設定に関する情報を要求する応答です。XML API Junos、設定階層内のすべてのコンテナおよびリーフ ステートメントにタグ要素を定義します。
以下のサンプル応答には、設定階層の階層 [edit system login]
レベルでの情報が含まれています。簡単に見て、このレベルで定義されたユーザーは 1 人のみです。開始タグは <rpc-reply>
、読み取り可能な場合のみ 2 行に表示されます。開始タグの属性の詳細については、「 <configuration>
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> ]]>]]>
設定変更応答
設定変更応答は 、デバイス設定の状態や内容を変更するリクエストへの応答です。NETCONF サーバーは、タグ要素内でタグを返して、 <ok/>
リクエストが正常に実行されたことを <rpc-reply>
示します。
<rpc-reply xmlns="URN" xmlns:junos="URL"> <ok/> </rpc-reply> ]]>]]>
操作に失敗すると、 <rpc-reply>
タグ要素は <rpc-error>
失敗の原因を説明する要素を囲み込きます。エラーの処理について、詳しくは NETCONF セッションでエラーまたは警告を処理 する を参照してください。