• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

交换机通过soapui软件通过netconf获取设备配置的xml脚本

2025-07-31提问
  • 0关注
  • 0收藏,230浏览
粉丝:1人 关注:0人

问题描述:

交换机通过soapui软件通过netconf获取设备配置的xml脚本

最佳答案

粉丝:10人 关注:0人

以下是用于通过 ​​SOAPUI​​ 调用 ​​NETCONF 协议​​ 获取 H3C 交换机配置的标准 XML 脚本模板。该脚本兼容大多数 H3C 设备(包括 Comware V7 系统):

<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="***.***/soap/envelope/" xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <soapenv:Header/> <soapenv:Body> <!-- NETCONF RPC请求 --> <nc:rpc message- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:h3c="http://www.h3c.com/netconf/base:1.0"> <!-- 建立NETCONF会话 --> <nc:hello> <nc:capabilities> <nc:capability>urn:ietf:params:netconf:base:1.0</nc:capability> <nc:capability>urn:ietf:params:netconf:capability:xpath:1.0</nc:capability> <h3c:capability>http://www.h3c.com/netconf/capability/h3c-base/1.0</h3c:capability> </nc:capabilities> </nc:hello> <!-- 获取运行配置 --> <nc:get-config> <nc:source> <nc:running/> </nc:source> <!-- 过滤特定配置(可选) --> <nc:filter type="subtree"> <!-- 示例:获取接口配置 --> <top xmlns="http://www.h3c.com/netconf/config:1.0"> <Ifmgr> <Interfaces/> </Ifmgr> </top> </nc:filter> </nc:get-config> <!-- 可选:获取特定参数 --> <nc:get> <nc:filter type="subtree"> <!-- 示例:获取系统版本 --> <top xmlns="http://www.h3c.com/netconf/data:1.0"> <Device> <Base> <Version/> </Base> </Device> </top> </nc:filter> </nc:get> <!-- 关闭会话 --> <nc:close-session/> </nc:rpc> </soapenv:Body> </soapenv:Envelope>

🔧 使用说明(SOAPUI 操作步骤):

  1. ​新建 SOAP 项目​

    • Endpoint: http[s]://<交换机IP>:830(NETCONF 默认端口 830)
    • 勾选 ​​"Create sample request"​
  2. ​替换请求内容​

    <!-- 删除生成的默认内容 --> <!-- 将上述XML模板粘贴到Request窗口 -->
  3. ​设置认证​

    - 在Request Properties添加: [ ] Auth: Basic Username: <设备用户名> Password: <设备密码> - Header添加: Content-Type: text/xml;charset=UTF-8
  4. ​执行请求​

⚙️ 常用配置过滤示例:

1. 获取全部配置

<nc:get-config> <nc:source> <nc:running/> </nc:source> </nc:get-config>

2. 获取VLAN配置

<nc:filter type="subtree"> <top xmlns="http://www.h3c.com/netconf/config:1.0"> <VLAN> <VLANs/> </VLAN> </top> </nc:filter>

3. 获取OSPF配置

<nc:filter type="subtree"> <top xmlns="http://www.h3c.com/netconf/config:1.0"> <OSPF> <Sites/> </OSPF> </top> </nc:filter>

🔍 响应结果解析要点:

  1. ​成功响应标志​

    <rpc-reply message- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <data> <!-- 配置数据在此 --> </data> </rpc-reply>
  2. ​错误处理​

    <rpc-error> <error-type>protocol</error-type> <error-tag>operation-failed</error-tag> <error-severity>error</error-severity> <error-message>Access denied</error-message> </rpc-error>

​💡 重要提示​​:

  1. 需在交换机启用 NETCONF:
    system-view netconf ssh server enable
  2. 使用 SSHv2 传输时,将 URL 改为:ssh://<IP>:830
  3. 设备需开放 830 端口(ACL 放行)

​官方文档参考​​:H3C NETCONF 开发指南

暂无评论

2 个回答
粉丝:0人 关注:0人

1.获取设备配置的关键操作

1.1 get-config操作

<get-config>操作用于从设备获取配置数据,是最常用的获取配置方法1

基本语法:

<rpc message- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <get-config> <source> <running/> </source> <filter type="subtree"> <!-- 指定要获取的配置部分 --> </filter> </get-config> </rpc>

1.2 get-bulk操作

<get-bulk>操作用于批量获取数据,适合获取大量配置时使用1

示例(获取所有接口配置):

<rpc message- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <get-bulk> <filter type="subtree"> <top xmlns="http://www.h3c.com/netconf/data:1.0"> <Ifmgr> <Interfaces> <Interface/> </Interfaces> </Ifmgr> </top> </filter> </get-bulk> </rpc>

2. 实际配置示例

2.1 获取接口配置示例

请求报文:

<rpc message- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <get-bulk> <filter type="subtree"> <top xmlns="http://www.h3c.com/netconf/data:1.0"> <Ifmgr> <Interfaces> <Interface/> </Interfaces> </Ifmgr> </top> </filter> </get-bulk> </rpc>

典型响应:

<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-> <data> <top xmlns="http://www.h3c.com/netconf/data:1.0"> <Ifmgr> <Interfaces> <Interface> <IfIndex>3</IfIndex> <Name>GigabitEthernet1/0/2</Name> <AdminStatus>2</AdminStatus> <OperStatus>2</OperStatus> <!-- 更多接口属性 --> </Interface> </Interfaces> </Ifmgr> </top> </data> </rpc-reply>

2.2 获取运行配置完整示例

  1. 进入XML视图:
<Sysname> xml
  1. 能力交换:
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <capabilities> <capability>urn:ietf:params:netconf:base:1.0</capability> </capabilities> </hello>
  1. 发送获取配置请求:
<rpc message- xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <get-config> <source> <running/> </source> </get-config> </rpc>

暂无评论

粉丝:112人 关注:0人

您好,参考netconf指南

暂无评论

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明