FreeOpcUa / python-opcua

LGPL Pure Python OPC-UA Client and Server
http://freeopcua.github.io/
GNU Lesser General Public License v3.0
1.35k stars 659 forks source link

BadNoMatch error with a very simple NodeSet #457

Open cpipero opened 7 years ago

cpipero commented 7 years ago

I made a nodeset using the OPC Foundation ModelCompiler, just to test how freeOpcUa handles those.

I adapter the simple server.py to use that (very easy), but it does not pass the get_child() velidation, so when it hits the call to translate_browsepaths_to_nodeids(path) it returns a BadNoMatch.

I double checked and the BrowseName is correct, but maybe I made a mistake in the nodeset (the nodeset works on a .NET sample).

Here's my nodeset (sorry those things get long) `<?xml version="1.0" encoding="utf-8"?>

http://beeond.net/UA/UMX/ i=1 i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 i=10 i=11 i=13 i=12 i=15 i=14 i=16 i=17 i=18 i=20 i=21 i=19 i=22 i=26 i=27 i=28 i=47 i=46 i=35 i=36 i=48 i=45 i=40 i=37 i=38 i=39 UmxSampleObjectType Umx Sample Object. ns=1;i=2 i=58 CheckFlag ns=1;i=3 ns=1;i=4 i=78 ns=1;i=1 InputArguments i=68 i=78 ns=1;i=2 i=297 UserFlag i=1 -1 Just a boolean for the user to check/uncheck. OutputArguments i=68 i=78 ns=1;i=2 i=297 Isay i=12 -1 The response for the method. CheckFlagType ns=1;i=6 ns=1;i=7 InputArguments i=68 ns=1;i=5 i=297 UserFlag i=1 -1 Just a boolean for the user to check/uncheck. OutputArguments i=68 ns=1;i=5 i=297 Isay i=12 -1 The response for the method. UMX_1 A sample object (instance). ns=1;i=10 ns=1;i=1 CheckFlag ns=1;i=11 ns=1;i=12 ns=1;i=9 InputArguments i=68 ns=1;i=10 i=297 UserFlag i=1 -1 Just a boolean for the user to check/uncheck. OutputArguments i=68 ns=1;i=10 i=297 Isay i=12 -1 The response for the method. `
oroulet commented 7 years ago

I have only checked very quickly but it looks like none of you nodes refer to the Object node. so they are probably no connected to address space, so not reachable with a get_child call