Is it necessary to give support for returnDiagnostics parameter?|OPC UA Standard|Forum|OPC Foundation

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Is it necessary to give support for returnDiagnostics parameter?
Avatar
Sameer Gillurkar
Member
Members
Forum Posts: 9
Member Since:
11/21/2019
sp_UserOfflineSmall Offline
1
07/30/2021 - 05:32
sp_Permalink sp_Print

Session Client General Service Behaviour: TestCase 003

Test Case Description:
Requesting diagnostics information with the 'returnDiagnostics' parameter.

Test Requirements:
Client supports 'returnDiagnostics'

Expected Result:
Client makes use of the returnDiagnostics parameter and uses the returned results to provide additional information to the user or for automatic handling.
 

Is the test case applicable only if client supports 'returnDiagnostics'?
Or is it expecting this to be supported by the client?
 

Our client does not support this parameter, and there is no plan to consider it in the near future as no such requirement has come from customers. Hence wanted to know if we should explicitly support it or leave it for now.

Avatar
Randy Armstrong
Admin
Forum Posts: 1449
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
2
07/30/2021 - 07:00
sp_Permalink sp_Print

Every client should have an error log that can be used to troubleshoot IOP issues.

The error log is where the diagnostics information could be saved.

Your clients may not know they want this feature until they have an issue in the field. At that point the lack of the such a feature will increase costs imposed on customers and your support team.

Avatar
Sameer Gillurkar
Member
Members
Forum Posts: 9
Member Since:
11/21/2019
sp_UserOfflineSmall Offline
3
08/02/2021 - 04:48
sp_Permalink sp_Print

Thanks for the reply Randy. Is it like DiagnosticInfo is returned only when there is an error or a BadStatusCode in the response object?

As in the request header object, we can pass only one value for setting returnDiagnostic parameter. So is it ok, if we pass only SymbolicId as returnDiagnostic value?

Avatar
Randy Armstrong
Admin
Forum Posts: 1449
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
4
08/02/2021 - 13:05
sp_Permalink sp_Print

SymbolicId and LocalizedText  at ServiceLevel and OperationLevel is a suitable default if you need a single option that can be enabled or disabled.

You can disable by default.

Avatar
Ravi Prabhakar Gupta
Member
Members
Forum Posts: 5
Member Since:
01/17/2023
sp_UserOfflineSmall Offline
5
01/19/2023 - 03:09
sp_Permalink sp_Print

Hi,
We are getting below diagnostic info though we have not set any ReturnDiagnostics parameter in request header. Also when we are setting it in request header it does not add any impact, any help on this will be appreciated.

 

CreateSubscripti on with status Bad TooManySubscriptions (ex88770000) "The server has reached its maximum number of subscriptions.":ServiceFault: Bad TooManySubscriptions (0x80770000) "The server has reached its maximum number of subscriptions."
Diagnostic Info: [endpoint opc.tcp://localhost:4841]: 2023-01-13 09:57:39.849552: BIP4362E: Java node error: [IICMsgs:9877] IIC9877E: Error occured while re-creating subscription: IIC3604E : Service fault exception thrown during CreateSubscription with status Bad TooManySubscriptions (0x88778090) The server has reached its maximum number of subscriptions.": ServiceFault: Bad TooManySubscriptions (0x88778088) "The server has reached its maximum number
of subscriptions."

Avatar
Randy Armstrong
Admin
Forum Posts: 1449
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
6
01/19/2023 - 16:34
sp_Permalink sp_Print

It appears there is a bug with the server.

Can you verify with WireShark that your are actually setting ReturnDiagnostics =False?

Avatar
Ravi Prabhakar Gupta
Member
Members
Forum Posts: 5
Member Since:
01/17/2023
sp_UserOfflineSmall Offline
7
01/20/2023 - 03:30
sp_Permalink sp_Print sp_EditHistory

Hi, I am using CTT to inject error, however the ReturnDiagnostic Parameter is set to 0(Zero) in the RequestHeader, as shown below.

 

Request
RequestHeader
> AuthenticationToken                           i=1875650552 
   Timestamp                                        2023-01-20T10:14:17.407Z
   RequestHandle                                  0

   ReturnDiagnostics                              (0)
   AuditEntryra                                       0
   TimeoutHint

  > AdditionalHeader
   RequestedPublishingInterval               1000.000000
   RequestedLifetimeCount                     15
   RequestedMaxKeepAliveCount             5
   MaxNotificationsPerPublish                  0
   PublishingEnabled                              false

  Priority                                              0

Response                                

ResponseHeader
  Timestamp                                        2023-01-20T10:14:17.408Z
RequestHandle                                     0
ServiceResult                                       Bad TooManySubscriptions (0x80770000)

ServiceDiagnostics                               

  Symbolicld                                         -1
NamespaceUri                                      -1
Locale
LocalizedText
AdditionalInfo
InnerStatusCode
InnerDiagnosticinfo
String Table Additionalliosdoe
Good (0x00000000)
Size: 0

Avatar
Randy Armstrong
Admin
Forum Posts: 1449
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
8
01/22/2023 - 13:33
sp_Permalink sp_Print

You are not getting diagnostics returned (as expected).

The only error information is the StatusCode which is converted to text by tool.

That said, there are no values for these fields which is confusing.

Locale
LocalizedText
AdditionalInfo
InnerStatusCode
InnerDiagnosticinfo
String Table Additionalliosdoe

Avatar
Ravi Prabhakar Gupta
Member
Members
Forum Posts: 5
Member Since:
01/17/2023
sp_UserOfflineSmall Offline
9
01/23/2023 - 01:29
sp_Permalink sp_Print sp_EditHistory

When we are setting diagnostic parameter in requester header still we are not getting any return diagnostic information.

 

RequestHeader reqHdr = new RequestHeader();
UnsignedInteger di = UnsignedInteger.getFromBits(0x00000010);  //Here we are setting the Header value.
System.out.println("----> Setting diagnostict header value --->" + di ); //Here we are checking the value assigned to di the same value which                                                                                                             is passed.

reqHdr.setReturnDiagnostics(di); //Here we are setting ReturnDiagnostics value.

reqHdr.setTimeoutHint(new UnsignedInteger(getServerKeepAlive()*2*getQueuedPubReqCount()));

PublishRequest req = new PublishRequest();
req.setRequestHeader(reqHdr);

UnsignedInteger returnDiagnostics = req.getRequestHeader().getReturnDiagnostics(); //Accessing the ReturnDiagnostics value which is                                                                                                                                       already set.
System.out.println("--- Setting Diagnostic info for comaparison ---"+returnDiagnostics);

Avatar
Randy Armstrong
Admin
Forum Posts: 1449
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
10
01/23/2023 - 12:13
sp_Permalink sp_Print

Servers are not required to return complete diagnostics on every service call. In some cases, the level of detail will depend on the credentials supplied by the client (i.e. only high privilege clients can see potentially sensitive diagnostic information).

Do you know that server supports diagnostics fro this call?

Avatar
Ravi Prabhakar Gupta
Member
Members
Forum Posts: 5
Member Since:
01/17/2023
sp_UserOfflineSmall Offline
11
01/24/2023 - 10:48
sp_Permalink sp_Print

We are using prosys and UACPP demo servers for that.

Avatar
Ravi Prabhakar Gupta
Member
Members
Forum Posts: 5
Member Since:
01/17/2023
sp_UserOfflineSmall Offline
12
02/07/2023 - 05:21
sp_Permalink sp_Print

Session Client General Service Behaviour: Support for returnDiagnostics Parameter · Issue #1284 · Cloud-Integration/ace-industry-manufacturing (ibm.com)

 

This is the link of the issue related to ReturnDiagnosticsParameter.

We used the Kepware server and also used the Prosys server and UACPP server.

Avatar
Randy Armstrong
Admin
Forum Posts: 1449
Member Since:
05/30/2017
sp_UserOfflineSmall Offline
13
02/07/2023 - 10:34
sp_Permalink sp_Print

The link requires login credentials.

You should check with the vendor to find out how much detail is available in diagnostics.

Forum Timezone: America/Phoenix
Most Users Ever Online: 510
Currently Online:
Guest(s) 26
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 10
Topics: 1347
Posts: 4571