SIF_Error not populated when received by ADK in SIF_Response
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Open ADK for C#/.NET |
New
|
Undecided
|
Unassigned |
Bug Description
ADK version: 2.3.0.4
When the SIF_Response contains a SIF_Error, this is not populated when the OnQueryResults() method is called by the ADK.
Instead, the following is found in the log files:
"SIFException in QueryResults message handler for SIF_Response" - this message is logged by the ADK. In the agent code, the exception is caught and the message is as follows:
"SIF_Response missing mandatory element: [Category=1; Code=6] SIF_Response missing mandatory element. SIF_ObjectData is a required element of SIF_Response"
As far as I can tell the message is valid (see below), as according to the specification, a SIF_Response can contain either SIF_ObjectData, or SIF_Error.
Example messages:
Request:
<SIF_Message Version="2.0r1" xmlns:xsi="http://
<SIF_Request>
<SIF_Header>
<SIF_
<SIF_
<SIF_Security>
<SIF_
<SIF_
<SIF_
</SIF_
</SIF_Security>
<SIF_
<SIF_Contexts>
<SIF_
</SIF_Contexts>
</SIF_Header>
<SIF_
<SIF_
<SIF_Query>
<SIF_QueryObject ObjectName=
</SIF_Query>
</SIF_Request>
</SIF_Message>
Response:
<SIF_Message Version="2.1" xmlns:xsi="http://
<SIF_Response>
<SIF_Header>
<SIF_
<SIF_
<SIF_Security>
<SIF_
<SIF_
<SIF_
</SIF_
</SIF_Security>
<SIF_
<SIF_
</SIF_Header>
<SIF_
<SIF_
<SIF_
<SIF_Error>
<SIF_
<SIF_
<SIF_Desc>Agent could not process the SIF_Request at this time</SIF_Desc>
<SIF_
</SIF_Error>
</SIF_Response>
</SIF_Message>
I've added this to our internal defect tracking system and it will scheduled for an upcoming sprint.