Edustructures support ask that I post this here:
This query is sent to request the StudentSchoolEnrollment data object for a Student with the StudentPersonal RefId of 140902130B1B1A39500125A109B40A2A . Note the message Id.
<SIF_Request> <SIF_Header> <SIF_MsgId>63FF3C7C402F44439B925C5A05ACE563</SIF_MsgId> <SIF_Date>20091202</SIF_Date> <SIF_Time Zone="UTC-06:00">08:50:27</SIF_Time> <SIF_Security> <SIF_SecureChannel> <SIF_AuthenticationLevel>0</SIF_AuthenticationLevel> <SIF_EncryptionLevel>0</SIF_EncryptionLevel> </SIF_SecureChannel> </SIF_Security> <SIF_SourceId>SchoolFusion</SIF_SourceId> </SIF_Header> <SIF_Version>1.5r1</SIF_Version> <SIF_MaxBufferSize>393216</SIF_MaxBufferSize> <SIF_Query> <SIF_QueryObject ObjectName="StudentSchoolEnrollment"/> <SIF_ConditionGroup Type="And"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@MembershipType</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Home</SIF_Value> </SIF_Condition> </SIF_Conditions> <SIF_Conditions Type="Or"> <SIF_Condition> <SIF_Element>@TimeFrame</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Current</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>@TimeFrame</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Future</SIF_Value> </SIF_Condition> </SIF_Conditions> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@StudentPersonalRefId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>140902130B1B1A39500125A109B40A2A</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query></SIF_Request>
I do not believe there is an error in the request and that it meets SIF 1.5 standards.
The response to this query is below. Please note that the SIF_RequestMsgId matches the SIF_MsgId from the query above.
<SIF_Header> <SIF_MsgId>427B3671F66F48AAAC123C4C7BDB4D76</SIF_MsgId> <SIF_Date>20091202</SIF_Date> <SIF_Time Zone="UTC-06:00">11:10:22</SIF_Time> <SIF_Security> <SIF_SecureChannel> <SIF_AuthenticationLevel>0</SIF_AuthenticationLevel> <SIF_EncryptionLevel>0</SIF_EncryptionLevel> </SIF_SecureChannel> </SIF_Security> <SIF_SourceId>PowerSchool</SIF_SourceId> <SIF_DestinationId>SchoolFusion</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>63FF3C7C402F44439B925C5A05ACE563</SIF_RequestMsgId> <SIF_PacketNumber>1</SIF_PacketNumber> <SIF_MorePackets>Yes</SIF_MorePackets> <SIF_ObjectData> <StudentSchoolEnrollment RefId="1409011F0B0C0E32325C76D09DC3EA02" StudentPersonalRefId="1409011F0B0C0E32281D51D8C13DA2A8" SchoolInfoRefId="140901100B102E1E00544AA49FE32F06" MembershipType="Home" TimeFrame="Current"> <SchoolYear>2010</SchoolYear> <EnrollStatus Code="B30"/> <EntryDate>20090814</EntryDate> <GradeLevel Code="11"/> <ExitDate>20100528</ExitDate> </StudentSchoolEnrollment> <StudentSchoolEnrollment RefId="1409011F0B0C0E513C14F6B362F1C3E8" StudentPersonalRefId="1409011F0B0C0E513C235669B883D52F" SchoolInfoRefId="140901100B102E1E00544AA49FE32F06" MembershipType="Home" TimeFrame="Current"> <SchoolYear>2010</SchoolYear> <EnrollStatus Code="B30"/> <EntryDate>20090814</EntryDate> <GradeLevel Code="10"/> <ExitDate>20100528</ExitDate> </StudentSchoolEnrollment> <StudentSchoolEnrollment RefId="1409011F0B0C0E11322DADCA2102868C" StudentPersonalRefId="1409011F0B0C0E1132CCE87ADFCF5E90" SchoolInfoRefId="140901100B102E1E00544AA49FE32F06" MembershipType="Home" TimeFrame="Current"> <SchoolYear>2010</SchoolYear> <EnrollStatus Code="B30"/> <EntryDate>20090814</EntryDate> <GradeLevel Code="11"/> <ExitDate>20100528</ExitDate> </StudentSchoolEnrollment> <StudentSchoolEnrollment RefId="1409011F0B0C0F3D1E1DB6C30E6E7E87" StudentPersonalRefId="1409011F0B0C0F3D1E3CC566894B0041" SchoolInfoRefId="140901100B102E1E00544AA49FE32F06" MembershipType="Home" TimeFrame="Current"> <SchoolYear>2010</SchoolYear> <EnrollStatus Code="B30"/> <EntryDate>20090814</EntryDate> <GradeLevel Code="12"/>
<ExitDate>20100528</ExitDate>
............................
And on and on - for many packets - like the PS agent delivered all the StudentSchoolEnrollment data objects instead of just the requested one. The StudentPersonalRefId is valid as it was derived from a change event.
<SIF_Event> <SIF_Header> <SIF_MsgId>94542116DF2E4EAEB1A24FA18E557B39</SIF_MsgId> <SIF_Date>20091202</SIF_Date> <SIF_Time Zone="UTC-06:00">10:31:14</SIF_Time> <SIF_Security> <SIF_SecureChannel> <SIF_AuthenticationLevel>0</SIF_AuthenticationLevel> <SIF_EncryptionLevel>0</SIF_EncryptionLevel> </SIF_SecureChannel> </SIF_Security> <SIF_SourceId>PowerSchool</SIF_SourceId> </SIF_Header> <SIF_ObjectData> <SIF_EventObject ObjectName="StudentPersonal" Action="Change"> <StudentPersonal RefId="140902130B1B1A39500125A109B40A2A"> <LocalId>347909054</LocalId> <OtherId Type="06">347909054</OtherId> <Demographics> <Gender>F</Gender> </Demographics> </StudentPersonal> </SIF_EventObject> </SIF_ObjectData></SIF_Event></SIF_Message></SIF_Data></SIF_Status></SIF_Ack></SIF_Message>
As a result each StudentPersonal change event that subsequently queries the corresponding StudentSchoolEnrollment data object querries what appears to be all StudentSchoolEnrollment data objects and currently floods the agents and ZIS with tens of thousands of querries.
This same query seems to work properly with other 1.5 agents from other vendors and only the one StudentSchoolEnrollment data object is returned.
Any help would be appreciated by me and your PowerSchool client.
I recommend logging a case with Edustructures support. It definitely looks like an issue, but these forums are really only monitored by ADK developers.
Cheers,
Andrew ElmhorstChief ArchitectEdustructures