FreeOpcUa / freeopcua

Open Source C++ OPC-UA Server and Client Library
http://freeopcua.github.io/
GNU Lesser General Public License v3.0
712 stars 342 forks source link

beckhoff PLC: TranslateBrowsePathsToNodeIds fails #58

Open mdcb opened 10 years ago

mdcb commented 10 years ago

running some variation of the sample client (against beckhoff opc-ua server)

          std::vector<std::string> path({"Objects", "Server"});
          server = root.GetChild(path);

mostly fails, although on rare occasion, succeed. more an annoyance than an a showstopper as I can access nodes by nodeId (low pri.)

attached compressed pcag with png ext. to full github

getchild_bad pcapng gz getchild_good pcapng gz

oroulet commented 10 years ago

OK now I can open the trace , that works. in the good trace you access 2 nodes where translatebrowsepathToNodeid works then the last one fails for a very long path which is probably server specific in the bad trace getting Server object fails. I would really like to a trace where getting Server object works so we can compare. Could you run your test program where you try to get server in a loop untli it succeed and do a wireshark?

mdcb commented 10 years ago

I tried the whole day and was unable to get a good instance, it's just been failing systematically. The original good trace has what the demo does: Objects+Server (good) Objects+Server+NamespaceArray (good), and then some path when it tries the subsciption. Another trace won't show more than this one I think.