我正在尝试找到一种更好的方法来生成要发送到其中包含 NETCONF 标记的设备的 XML RPC 请求。
我们知道请求应该是什么样子,所以我正在做的是,只是用其中的占位符对 XML-RPC 请求 XML 进行硬编码。这些占位符稍后可以替换为实际输入。
例如:
<rpc message-id="">
<get-config>
<source>
<running/>
</source>
<filter type="subtree" base_path="">
<wing-stats>
<device>
<lldp>
<dev_id/>
<local_port/>
<neighborId/>
<Neighbor_port_id/>
</lldp>
<mac>@device_mac</mac>
</device>
</wing-stats>
</filter>
</get-config>
</rpc>
在此示例中,@device_mac 将在发送请求时被替换。但我感觉我对请求 XML 进行了硬编码。有没有更好的方法来生成请求 XML?
Netconf 数据将使用 YANG/YIN 文件建模。有没有办法可以利用这些文件至少生成 NETCONF 请求部分?
最佳答案
巴拉,
我想说有两种方法可以做到这一点:您可以使用任何可用的日期模型驱动工具包,并且我知道其中至少有一个生成面向模型的 API 并隐藏详细的 XML (DOM )操纵。第二个方向是利用 RFC 6110 中定义的 YANG 到 DSDL 映射。由 pyang 实现工具。现在,后一个要求您的工具可以与DSDL一起使用。这本质上是 Relax NG 的组合和 Schematron .
希望这有帮助。
关于java - 从 YANG 数据模型生成 XML RPC NETCONF 请求的标准方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59620218/