- Posts: 106
- Thank you received: 0
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.
- Forum
- Discussions
- QuickOPC-UA in .NET
- Discovery, Browsing, Browse Dialogs and Controls
- Browse Data Nodes
Browse Data Nodes
- adid@contel.co.il
- Topic Author
- Offline
- Platinum Member
when i use the LogEntry i get more event notification after the event "The OPC-UA engine is connecting to the underlying subsystems." :
1. The OPC-UA engine has determined the client certificate parameters as listed below.
SubjectName: mscorlib.dll
ApplicationName: mscorlib.dll
ApplicationUri: urn:MES_SQL_TEST:mscorlib:2.0.0.0:neutral:b77a5c561934e089
ProductUri: urn:literal:string:Microsoft%C2%AE%20.NET%20Framework
2. The OPC-UA engine failed at tick 234809834 and will retry in 600000 milliseconds.
3 The OPC-UA client session on endpoint URL "opc.tcp://127.0.0.1:49320" failed at tick 234809834 and will retry in 10000 milliseconds.
4. The OPC-UA client session failed to connect to endpoint URL "opc.tcp://127.0.0.1:49320".
OPC-UA client engine is not connected.
5. The OPC-UA client session is connecting to endpoint URL "opc.tcp://127.0.0.1:49320".
6. The status subscription for an OPC-UA session on endpoint URL "opc.tcp://127.0.0.1:49320" is in failure. Further such warnings on this session will not be logged.
OPC-UA client engine is not connected.
in the output window i see :
* Transformed from: An exception of type 'Opc.Ua.ServiceResultException' from source 'Opc.Ua.Core' has occurred in OPC-UA SDK action 'ApplicationInstance.CheckApplicationInstanceCertificate'. The exception descend follows.
(1) {Opc.Ua.ServiceResultException} Opc.Ua.Core(CreateCertificateViaProxy) -> Could not create a certificate via a proxy: -error Could not initialize the platform layer.
(2) {Opc.Ua.ServiceResultException} Opc.Ua.Core(CreateCertificateViaProxy) -> -error Could not initialize the platform layer.
hope thisw helps ...
thank you,
Adi Damty
Please Log in or Create an account to join the conversation.
Can you please confirm that there was just this one LogEntry event notification, before the error occurred - not anything else?
Also, if you run in the debugger, are you able to monitor the Output window? Aren't there any exception messages (a hypothesis: An unexpected internal exception somewhere inside our component that gets "swallowed" and does not therefore directly appear to the caller).
Please Log in or Create an account to join the conversation.
- adid@contel.co.il
- Topic Author
- Offline
- Platinum Member
- Posts: 106
- Thank you received: 0
in version 5.23.513.1 the problem still happened.
the additional details of this error i get using logEntry are :
EventType : System.Diagnostics.EventLogEntryType.Information
EvetId : 101
Message : The OPC-UA engine is connecting to the underlying subsystems.
Raw Data : null
Source : OPCLabs-UAEngine
thank you,
Adi Damty
Please Log in or Create an account to join the conversation.
A new build with a fix for this is now placed as our public download. Can you please download it and reinstall; it should identify itself as 5.23.513.1.
If, however, the Read returns the same error, this fix is probably not going to help. In such case, can you please modify your code to attach an event handler to a STATIC event EasyUAClient.LogEntry, before a first EasyUAClient instance is created. In the event handler, collect every event (mainly, its Message) that you receive, up to the point of the error. There may be an indication of some kind of failure in these messages.
Many thanks
Please Log in or Create an account to join the conversation.
- adid@contel.co.il
- Topic Author
- Offline
- Platinum Member
- Posts: 106
- Thank you received: 0
i created a clean website project in .net 3.5 project in order to test the problem is both environment ( the code is below ). the result are : in my test environment its all working, but in the client test environment ( the same code ) i get the same error : OPC-UA client engine is not connected.
this problem happened in debug mode and also not in debug mode.
i have also tried to read tag before browseDataNodes and than i get the same error from the Read function.
here is the code :
using OpcLabs.EasyOpc.UA;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
tryEasyUA();
}
private void tryEasyUA()
{
try
{
loadEasyUaClientProperties();
EasyUAClient easyUAClient = new EasyUAClient();
UAEndpointDescriptor uaEndpointDescriptor = new UAEndpointDescriptor("opc.tcp://127.0.0.1:49320");
UANodeElementCollection nodeElementCollection = easyUAClient.BrowseDataNodes(uaEndpointDescriptor);
Response.Write("Succeed");
}
catch (Exception exception)
{
Response.Write(exception.Message);
}
}
private static void loadEasyUaClientProperties()
{
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AcceptAnyCertificate = true;
EasyUAClient.AdaptableParameters.Session.CheckEndpointDomain = false;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.Interoperability;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.OpcCompliance;
EasyUAClient.SharedParameters.Engine.AllowCertificatePrompt = false;
EasyUAClient.AdaptableParameters.Session.AllowEndpointDomainPrompt = false;
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AllowUserAcceptCertificate = false;
}
}
thank you,
Adi Damty
Please Log in or Create an account to join the conversation.
Can you please tell me, is this the first operation you call, after creating the EasyUAClient object?
If you call something else before it (such as Read - but not Browse), does it help?
Many thanks
Please Log in or Create an account to join the conversation.
- adid@contel.co.il
- Topic Author
- Offline
- Platinum Member
- Posts: 106
- Thank you received: 0
i have also pay attention that in the client test environemnt in the OPC-UA configuration the Trusted Servers Tab is missing.
thank you,
Adi Damty
Please Log in or Create an account to join the conversation.
- adid@contel.co.il
- Topic Author
- Offline
- Platinum Member
- Posts: 106
- Thank you received: 0
still the problem remain.
i am now move to the OPC-UA 5.23.454.1 ( all 4 dll files ) in my test environment ( Asp.net v4.0 ) and it's all working in my test environment. this is my static properties i used :
private static void loadEasyUaClientProperties()
{
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AcceptAnyCertificate = true;
EasyUAClient.AdaptableParameters.Session.CheckEndpointDomain = false;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.Interoperability;
EasyUAClient.AdaptableParameters = EasyUAAdaptableParameters.OpcCompliance;
EasyUAClient.SharedParameters.Engine.AllowCertificatePrompt = false;
EasyUAClient.AdaptableParameters.Session.AllowEndpointDomainPrompt = false;
EasyUAClient.AdaptableParameters.Session.CertificateAcceptancePolicy.AllowUserAcceptCertificate = false;
}
in my test client environment ( Asp.net 3.5 ) i use the same DLL's and the same static properties and i still get the error : OPC-UA client engine is not connected.
is the 5.23.454.1 version is also for use with .Net 3.5 ?
what does this error means ? maybe there is a defenition in the kepware i can switch on and off and this causing this ?
in the test client environment i have kepware V5.8.109.0 and in my test enviroment my kepware version is V5.7.84.0 - i don't think this is the problem, just mention it.
thank you,
Adi Damty
Please Log in or Create an account to join the conversation.
With each version of our product, we install just one "version" of each assembly. If you have assembly files of same name but different sizes, they are probably coming from different versions of the product. Try to remove those that are not of the latest version. Also check the Global Assembly Cache.
To your question about where are the assemblies loaded from: In QuickOPC-UA, there are no special procedures for this, aside from what is defined by Microsoft. Essentially, if the assembly is found in the GAC, it is used from there. If not, other places are searched, such as the directory where the process's EXE resides, or paths specified in the manifest. Also, the hosting environment (such as the ASP.NET) defines places where the assemblies are searched for.
In the case of IIS, you have limited or no control of what the main process is - and it would not be practical to place assemblies alongside the main EXE. Our installer places the assembly BOTH to the Assemblies folder under its installation path, AND to the GAC. In the ASP.NET runtime, there should be (and I think there isn't, even in your case) no "link" that points to this Assemblies folder: The assemblies load either from GAC, or from your bin folder where they get copied during building.
There is also a Microsoft tool (Fusion Viewer) that can be used to troubleshoot the process of assembly loading. I would not bother with it, though, until you make sure that you have just one version of each assembly on your computer.
Best regards
Please Log in or Create an account to join the conversation.
- adid@contel.co.il
- Topic Author
- Offline
- Platinum Member
- Posts: 106
- Thank you received: 0
it's defenatllay someting that releveant to the OPC-UA Version.
in my test environment ( Asp.Net 4.0 ) i have this files in my bin folder and it's all working :
OpcLabs.BaseLib.dll - 134k
OpcLabs.BaseLibExtensions.dll - 393k
OpcLabs.EasyOpcUA.dll - 170k
OpcLabs.EasyOpcUAInternal.dll - 1,860k
when i try to use the same DLL in my test client enviroment ( Asp.Net 3.5 ) than the function browseDataNodes cause the website to be stuck. if i change the DLL in mt test client environment to :
( this is the DLL of the OPC-UA 5.2.3 Version )
OpcLabs.BaseLib.dll - 168k
OpcLabs.BaseLibExtensions.dll - 437k
OpcLabs.EasyOpcUA.dll - 198k
OpcLabs.EasyOpcUAInternal.dll - 1,974k
than i get the error : OPC-UA client engine is not connected.
and also i remark the line in my code :
EasyUAClient.EngineParameters.CertificateAcceptancePolicy.AcceptAnyCertificate = true;
because there isn't class CertificateAcceptancePolicy in namespace EasyUAClient.EngineParameters, using this DLL's.
so i can i get it work ? does the DLL in the .Net 3.5 are different ?
thank you,
Adi Damty
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-UA in .NET
- Discovery, Browsing, Browse Dialogs and Controls
- Browse Data Nodes