Network programming NETCONF-IOS XE-16.04.01 cli配置数据引发错误

Network programming NETCONF-IOS XE-16.04.01 cli配置数据引发错误,network-programming,sdn,cisco-ios,ietf-netconf,Network Programming,Sdn,Cisco Ios,Ietf Netconf,我正在尝试在IOS XE 16.04.01中使用NETONF RPC执行CLI命令。我从设备CLI“show NETCONF schema”中获得了NETCONF RPC的模式。下面是特定于编辑配置的模式 <edit-config> [0, 1] required <target> 1 required <candidate> [0, 1] required <running> [0, 1] required <startup> [0,

我正在尝试在IOS XE 16.04.01中使用NETONF RPC执行CLI命令。我从设备CLI“show NETCONF schema”中获得了NETCONF RPC的模式。下面是特定于编辑配置的模式

<edit-config> [0, 1] required
<target> 1 required
<candidate> [0, 1] required
<running> [0, 1] required
<startup> [0, 1] required
<url> [0, 1] required
<default-operation> [0, 1] required
<test-option> [0, 1] required
<error-option> [0, 1] required
<config> 1 required
<cli-config-data> [0, 1] required
<cmd> 1+ required
<cli-config-data-block> [0, 1] required
[0,1]必需
1必需
[0,1]是必需的
[0,1]是必需的
[0,1]是必需的
[0,1]是必需的
[0,1]是必需的
[0,1]是必需的
[0,1]是必需的
1必需
[0,1]是必需的
1+必需
[0,1]是必需的
在模式中可以看到。我试图执行下面的RPC,但它以cli配置数据的形式抛出错误。如何使用NETCONF for IOS XE执行CLI命令

RPC请求

主机名CSR1000V
RPC回复

协议
未知元素
错误
/rpc/edit-config/config
cli配置数据

在IOS-XE中,您可以选择在配置中启用
netconf ssh
netconf yang
——我犯了启用
netconf yang
的错误,然后尝试使用
cli config data block
,因为我在
show netconf schema
中看到它,我认为它是有效的

如果启用
netconf-yang
,则它需要一个有效的yang模型,但是
netconf-ssh
启用旧式netconf支持,该支持使用模式作为
show netconf schema
的输出。启用
netconf ssh
后,可以将以下内容发送到设备以更新配置:

<?xml version='1.0' encoding='UTF-8'?>
<rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="100">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <cli-config-data-block>
        hostname test
      </cli-config-data-block>
    </config>
  </edit-config>
</rpc>

我很确定
cli config data
cmd
元素属于一个名称空间,而不是
urn:ietf:params:xml:ns:netconf:base:1.0
,它是为netconf消息层保留的。要用于哪个名称空间?
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2323">
<rpc-error>
<error-type>protocol</error-type>
<error-tag>unknown-element</error-tag>
<error-severity>error</error-severity>
<error-path>
/rpc/edit-config/config
</error-path>
<error-info>
<bad-element>cli-config-data</bad-element>
</error-info>
</rpc-error>
</rpc-reply>
<?xml version='1.0' encoding='UTF-8'?>
<rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="100">
  <edit-config>
    <target>
      <running/>
    </target>
    <config>
      <cli-config-data-block>
        hostname test
      </cli-config-data-block>
    </config>
  </edit-config>
</rpc>
menu test title $
this is a title
$