私は Net::Netconf::Manager
を使用してRPCコマンドでデバイスに問い合わせます。 RPCコマンドでは、引数のリストを送信する必要があります。そのため、クエリ引数をハッシュに追加します。そのような議論の1つはverbosity_level
"Net :: Netconf :: Manager"は、RPC要求のアンダースコアをハイフンに変換します
です。この引数にはアンダースコア_
が使用されています。私がハッシュを印刷するとき、それはまだアンダースコアです。
しかし、私は、デバイスに送信されるXML RPCリクエストを印刷するとき、引数がverbosity-level
<verbosity-level>abcd</verbosity-level>
代わりの
<verbosity_level>abcd</verbosity_level>
に変更されるので、デバイスは、そのようなを知らないと言います引数。
アンダースコアがハイフンに変換されるのはなぜですか?
おそらく、JunosがXMLタグに*のアンダースコア*を付けず、RPCリクエストをオブジェクト化する際に砂糖を加えるという成果物でしょう。 [いくつかの例は、それらの方法で行われたことを示しています](https://www.juniper.net/documentation/en_US/junos13.2/topics/task/program/netconf-perl-client-application-submitting-requests.html)。私は最近までnetconfをやっている他の多くのベンダーがいなかったと思います。 – salparadise
ありがとうBorodin。私はgithubのnetconf-perl APIで問題を提起しました。アンダースコアではなく、RPC要求でハイフンを使用するように標準化しているようです。この問題は、次のリンクで追跡できます。https://github.com/Juniper/netconf-perl/issues/35 –