We are using default value(4194304) which is defined by opc ua stack when gievn value is 0 for MaxResponseMessageSize in createSession call. Also we are not validating MaxRequestMessageSize given in createsession response. Is it mandatory for opc ua client certification? we are referring below test cases.
|Err-026||CTT||CreateSession||The Server returns a maxRequestMessageSize of 500 (bytes).||Verify that client honors this max by testing with a call that should exceed this space, such as a large Read/Write/Browse request.|
TOOL: WireShark to verify? Or a `stack watcher` tool? Actually, the Server and/or Client should reject messages that are too big with an error `Bad_RequestTooLarge` or Bad_ResponseTooLarge` as applicable.
|Err-027||CTT||CreateSession||maxRequestMessageSize is decades larger than maxResponseMessageSize, e.g. maxResponseMessageSize * 10.|
If the requested MaxResponseMessageSize == 0 then set revise the MaxRequestMessageSize = 500;
|Client reports an informational message to the end-user to report the limitations on the channel. The Client continues to communicate with the UA Server while abiding by the message size constraint.|
In general, all test cases in the CTT are required for the ConformanceUnit/profile to which they are applied. If you have questions about the wording of a test cases and don't understand what it is trying to test, we can clean them up and improve them as needed. The first test is checking that a client will honor the maxmessage size that a server reports. All well behaved client shall attempt to honor this constraint that a server might have. the second is that a client can deal with a server that does not have symmetric buffer sizes - again a well behaved client shall attempt to honor this. The reporting part could be improved in wording or removed - "i.e. Client reports an informational message to the end-user to report the limitations on the channel." is not part of what is required.
Paul Hunkar - DSInteroperability
Just to confirm my understanding - When client sends Hello message, the MaxMessageSize sent in this message represents MaxResponseMessageSize. And when Server responds with Acknowledge, the MaxMessageSize sent in Acknowledge represents MaxRequestMessageSize. Is this correct?