For instance:
Server provides Method A with
--> InputArgument 0 --> DataType: ByteString (Server internal there is a fixed length of e.g. 10 Byte ProcessData mapping)
Client calls Method A with
--> InputArgument 0: length=1, data=0x42
What is the correct server behaviour?
Shall/Could the server response looks like
--> Call operation level result code = Bad_InvalidArgument
--> Call Input Argument result code = Bad_OutOfRange
Or is there a silent padding required? (IMHO not a preferable solution)
tia
"The Bad_OutOfRange is a code that would come from application code rather than SDK code."
Ok, so my assumption from the first post is correct?
- operation level result code = Bad_InvalidArgument
- input Argument result code = Bad_OutOfRange
Both are set from the server application not SDK.
"Have you tried a 10 byte ByteString?"
We implement it that way, that only ByteString length == 10 for this certain Method as valid input argument is accepted.
05/30/2017
I guess the issue is the Server has an requirement which cannot be modeled with the Argument structure.
Servers are allowed to enforce any number of semantic checks on the argument.
i.e. a arg1 has to be less than arg2.
All the server can do is document the behavior in the method description.
If the arg is not the required length the expected behavior is
- operation level result code = Bad_InvalidArgument
- input Argument result code = Bad_OutOfRange
1 Guest(s)