从YANG数据模型生成XML RPC NETCONF请求的标准方法是什么

问题描述 投票:2回答:2

我正在尝试找到一种更好的方法来生成XML RPC请求,以便将其发送到具有NETCONF标记的设备。

我们知道请求应该是什么样子,所以我正在做的是,只需用其中的占位符对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请求部分?

java xml-rpc network-protocols ietf-netmod-yang ietf-netconf
2个回答
1
投票

无,

我要说有两种方法可以做到这一点:你可以使用任何可用的日期模型驱动工具包,我知道其中至少有一个生成面向模型的API并隐藏详细的XML(DOM)操作。第二个方向是使用由RFC 6110工具实现的pyang中定义的YANG到DSDL映射。现在,后者要求你的工具可以使用DSDL,它本质上是Relax NGSchematron的组合。

希望这可以帮助。


0
投票

我会说这完全取决于你的背景。如果你的应用程序意味着支持这个特定的模型和这个特定的rpc,那么在这么小的用例中使用任何更复杂的,与模型无关的API可能是一种过度的伎俩。

另一方面,如果您的应用程序必须支持许多模型和rpcs,或者即使它需要支持在运行时添加的新模型,那么您肯定应该探索可应用于任何模型的解决方案,例如Carl提到的那些模型。

© www.soinside.com 2019 - 2024. All rights reserved.