ODL TestTool订阅NETCONF通知后无法接收,日志报找不到顶层模块
关于OpenDaylight TestTool NETCONF通知接收失败的问题
问题背景
我按照OpenDaylight(ODL)用户指南,使用其提供的TestTool实现NETCONF通知功能,目前仅能完成订阅操作,无法接收通知。参考的流程文档:
- TestTool通知支持文档:OpenDaylight Netconf TestTool Notification Support
- ODL用户指南NETCONF通知接收部分:Receiving NETCONF Device Notifications on a HTTP Client
错误日志
分析ODL日志后发现以下错误:
WARN [globalWorkerGroup-3-1] An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. java.lang.IllegalArgumentException: Unable to parse notification <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>2023-05-08T13:19:44+02:00</eventTime> <random-notification xmlns="http://www.opendaylight.org/netconf/event:1.0"> <random-content>single with delay</random-content> </random-notification> </notification> , cannot find top level module at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.findNestedNotification(NetconfMessageTransformer.java:223) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.schema.mapping.NetconfMessageTransformer.toNotification(NetconfMessageTransformer.java:194) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.NotificationHandler.transformNotification(NotificationHandler.java:71) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.NotificationHandler.handleNotification(NotificationHandler.java:48) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.NetconfDevice.onNotification(NetconfDevice.java:326) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.processNotification(NetconfDeviceCommunicator.java:406) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:268) ~[bundleFile:?] at org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator.onMessage(NetconfDeviceCommunicator.java:51) ~[bundleFile:?] at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.handleMessage(AbstractNetconfSession.java:65) ~[bundleFile:?] at org.opendaylight.netconf.nettyutil.AbstractNetconfSession.channelRead0(AbstractNetconfSession.java:186) ~[bundleFile:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[bundleFile:4.1.89.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[bundleFile:4.1.89.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[bundleFile:4.1.89.Final] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[bundleFile:4.1.89.Final] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:61) ~[bundleFile:4.1.89.Final] at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:425) ~[bundleFile:4.1.89.Final] at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[bundleFile:4.1.89.Final] at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[bundleFile:4.1.89.Final] at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[bundleFile:4.1.89.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[bundleFile:4.1.89.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[bundleFile:4.1.89.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[bundleFile:4.1.89.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[bundleFile:4.1.89.Final]
提问
请问有没有人完成过该指南的操作,或者知道这个错误的原因及解决方法?
内容的提问来源于stack exchange,提问作者Uriel
相关产品推荐
相关产品推荐

