Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

Access Denied on DASSIDirect

More
23 Mar 2020 21:05 #8316 by support
Mainly due to the way QuickOPC "Classic" is written (originally C++ code, but then converted to managed C++), it indeed does behave differently at times.

Do you know the CLSID of the server? The problem might be "just" in converting the ProgID (""ArchestrA.DASSIDirect.3") to the CLSID (which is done, usually, using the OPCEnum service on the remote computer). If you can find out the CLSID (e.g. from browsing), try using it in place of the ProgID. It still needs to be a string, but the string should contain the CLSID in "registry format", i.e. between '{' and '}'.

Regards
The following user(s) said Thank You: csm

Please Log in or Create an account to join the conversation.

More
23 Mar 2020 10:08 #8315 by csm
Replied by csm on topic Access Denied on DASSIDirect
It's a made up IP as it's on a customer system. The OPC Server is on a remote machine.

Just struggling to understand why all the other software works, but the QuickOPC library fails. Would like to understand if there is a way to setup the QuickOPC client so that it authenticates in the same as everything else.

Please Log in or Create an account to join the conversation.

More
22 Mar 2020 15:48 #8314 by support
Hello,

does 192.1.1.1 refer to the same machine where you run the client application, or is it a different computer?

Thank you

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 09:18 - 22 Mar 2020 15:44 #8311 by csm
Hi,

I have been trying to subscribe to tags on an OPC Server without any success, all avenues return "Access Denied" error as per the XML attachment. I've adapted the .NET Console samples "XmlLogger" as below and tried ALL 9 combinations of the 3 ClientParameters that affect security. I have another application written with a different library which can read the tag as can Matrikon Explorer and OPC Expert. Is there another setting in QuickOPC that I can try? Using version 5.54.1085.1.
static void Main()
        {
            EasyDAClient.SharedParameters.ClientParameters.TurnOffActivationSecurity = true;
            EasyDAClient.SharedParameters.ClientParameters.TurnOffCallSecurity = true;
            EasyDAClient.SharedParameters.ClientParameters.UseCustomSecurity = false;
 
 
            Console.WriteLine("Starting up...");
            var xmlSerializer = new XmlSerializer(typeof(EasyDAItemChangedEventArgs));
            var xmlWriter = XmlWriter.Create("OpcData.xml", new XmlWriterSettings
                                        {
                                            Indent = true,
                                            CloseOutput = true
                                        });
            // The root element can have any name you need, but the name below also allows reading the log back as .NET array
            xmlWriter.WriteStartElement("ArrayOfEasyDAItemChangedEventArgs");
 
            Console.WriteLine("Logging for 10 seconds...");
 
            int handle = EasyDAClient.SharedInstance.SubscribeItem("192.1.1.1", "ArchestrA.DASSIDirect.3",
                "Topics.Node1.dbl", 1000,
               (_, eventArgs) =>
                   {
                       Debug.Assert(eventArgs != null);
                       xmlSerializer.Serialize(xmlWriter, eventArgs);
                   });
            System.Threading.Thread.Sleep(10 * 1000);
 
            Console.WriteLine("Shutting down...");
            EasyDAClient.SharedInstance.UnsubscribeItem(handle);
            xmlWriter.WriteEndElement();    // not really necessary - XmlWriter would write the end tag for us anyway
            xmlWriter.Close();
 
            Console.WriteLine("Finished.");
        }
Attachments:
Last edit: 22 Mar 2020 15:44 by support. Reason: code formatting

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.071 seconds