首页 > 解决方案 > NETCONF RPC 使用 ncclient,如何删除 XML 命名空间前缀标记 'nc:'?

问题描述

我不认为这是 ncclient 的问题,但我找不到关闭 xml 命名空间前缀标记的选项。

ncclient 发送这个 RPC,

<?xml version="1.0" encoding="UTF-8"?> <nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:cdad1414-956b-47e7-8efc-fee92888475c"> <nc:get-config> <nc:source> <nc:running /> </nc:source> </nc:get-config> </nc:rpc>

但是,我的设备(Ericsson Telecom Packet Core 元素)不支持 xml 命名空间标签,并且期望请求格式为:

<?xml version="1.0" encoding="UTF-8"?> <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="urn:uuid:cdad1414-956b-47e7-8efc-fee92888475c"> <get-config> <source> <running /> </source> </get-config> </rpc>

如何关闭 nc: ?

标签: python-3.xnetconf

解决方案


您必须向 ncclient 贡献代码才能在 Operations/third_party 下为爱立信添加代码。继承 RPC 类并覆盖 _wrap 函数来完成这项工作。

https://github.com/ncclient/ncclient/tree/master/ncclient/operations/third_party

https://github.com/ncclient/ncclient/blob/master/ncclient/operations/rpc.py#L309


推荐阅读