Astra Schedule Help (7.5)

Web Service Definition Language (WSDL)

Hide Navigation Pane

Web Service Definition Language (WSDL)

Previous topic Next topic  

Web Service Definition Language (WSDL)

Previous topic Next topic JavaScript is required for the print function  

A web service may be used to provide an interface with Astra Schedule.  The following WSDL will be required information when creating a custom web service interface.

 

<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions

  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"

  targetNamespace="http://aais.com/AteWebTestService"

  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"

  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"

  xmlns:tns="http://aais.com/AteWebTestService"

  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"

  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"

  xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"

  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">

 <wsdl:types>

   <s:schema targetNamespace="http://aais.com/AteWebTestService" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://aais.com/AteWebTestService" elementFormDefault="qualified" >

     <s:element name="Header">

       <s:complexType>

         <s:sequence>

           <s:element name="JobType" type="s:int" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="JobMode" type="s:int" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="JobId" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="JobRunId" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="AnyAvailable">

       <s:annotation>

         <s:documentation>

           <![CDATA[Indicates to the server that the import of an item is not restricted by Campus or Term.  The response should contain all items known by server (w.r.t. the changedSectionsOnly flag.)]]>

         </s:documentation>

       </s:annotation>

       <s:complexType/>

     </s:element>

 

     <s:element name="GetSections">

       <s:complexType>

         <s:choice minOccurs="1" maxOccurs="1">

           <s:sequence>

             <s:element name="CampusCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

             <s:element name="TermCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           </s:sequence>

           <s:element ref="tns:AnyAvailable" minOccurs="1" maxOccurs="1"/>

         </s:choice>

         <s:attribute name="changedSectionsOnly" type="s:boolean" use="optional" default="false"/>

       </s:complexType>

     </s:element>

 

     <s:element name="GetSection">

       <s:complexType>

         <s:sequence>

           <s:element name="SectionSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="GetSectionMeetings">

       <s:complexType>

         <s:choice minOccurs="1" maxOccurs="1">

           <s:sequence>

             <s:element name="CampusCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

             <s:element name="TermCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           </s:sequence>

           <s:element ref="tns:AnyAvailable" minOccurs="1" maxOccurs="1"/>

         </s:choice>

         <s:attribute name="changedSectionsOnly" type="s:boolean" use="optional" default="false"/>

       </s:complexType>

     </s:element>

 

     <s:element name="GetSectionMeetingsForSection">

       <s:complexType>

         <s:sequence>

           <s:element name="SectionSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

 

     <s:element name="GetSectionMeetingCrosslists">

       <s:complexType>

         <s:choice minOccurs="1" maxOccurs="1">

           <s:sequence>        

             <s:element name="CampusCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

             <s:element name="TermCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           </s:sequence>

           <s:element ref="tns:AnyAvailable" minOccurs="1" maxOccurs="1"/>

         </s:choice>

         <s:attribute name="changedSectionsOnly" type="s:boolean" use="optional" default="false"/>

       </s:complexType>

     </s:element>

 

     <s:element name="GetSectionMeetingCrosslistsForSection">

       <s:complexType>

         <s:sequence>

           <s:element name="SectionSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="GetSectionMeetingInstructors">

       <s:complexType>

         <s:choice minOccurs="1" maxOccurs="1">

           <s:sequence>

             <s:element name="CampusCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

             <s:element name="TermCode" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           </s:sequence>

           <s:element ref="tns:AnyAvailable" minOccurs="1" maxOccurs="1"/>

         </s:choice>

         <s:attribute name="changedSectionsOnly" type="s:boolean" use="optional" default="false"/>

       </s:complexType>

     </s:element>

 

     <s:element name="GetSectionMeetingInstructorsForSection">

       <s:complexType>

         <s:sequence>

           <s:element name="SectionSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="AdAstraRequest_MT" type="ns1:AdAstraRequest_MT"/>

   

     <s:complexType name="AdAstraRequest_MT" id="AdAstraRequest_MT">

         <s:sequence>

           <s:element ref="tns:Header" minOccurs="1" maxOccurs="1"/>

           <s:choice>

             <s:sequence minOccurs="1" maxOccurs="1">

               <s:element ref="tns:GetSections" minOccurs="1" maxOccurs="1" />

               <s:element ref="tns:GetSectionMeetings" minOccurs="1" maxOccurs="1"/>

               <s:element ref="tns:GetSectionMeetingCrosslists" minOccurs="1" maxOccurs="1"/>

               <s:element ref="tns:GetSectionMeetingInstructors" minOccurs="1" maxOccurs="1"/>

             </s:sequence>

             <s:sequence minOccurs="1" maxOccurs="1">

               <s:element ref="tns:GetSection" minOccurs="1" maxOccurs="1"/>

               <s:element ref="tns:GetSectionMeetingsForSection" minOccurs="1" maxOccurs="1"/>

               <s:element ref="tns:GetSectionMeetingCrosslistsForSection" minOccurs="1" maxOccurs="1"/>

               <s:element ref="tns:GetSectionMeetingInstructorsForSection" minOccurs="1" maxOccurs="1"/>

             </s:sequence>

           </s:choice>

         </s:sequence>

       </s:complexType>

 

 

 

     <s:element name="AdAstraResponse_MT" type="ns1:AdAstraResponse_MT"/>

   

       <s:complexType name="AdAstraResponse_MT" id="AdAstraRequest_MTResult">

         <s:sequence>

           <s:element ref="tns:Sections" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:SectionMeetings" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:CourseMeetingTypes" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:Crosslists" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:Instructors" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:InstructorCourses" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:InstructorCourseCampuses" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:SectionUserFields" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:SectionMeetingUserFields" minOccurs="0" maxOccurs="1"/>

           <s:element ref="tns:Deletes" minOccurs="0" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

 

     <s:element name="Sections">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:Section" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="Section">

       <s:complexType>

         <s:sequence>

         <s:element name="SectionSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="SectionCode" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="TermSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="CourseSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="CourseName" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="CourseCourseNumber" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="SubjectSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="SubjectName" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="CampusSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="CampusName" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="DeliveryMethodSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="DeliveryMethodName" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="CourseCourseTitle" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="SectionSectionTitle" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="SectionSISEnrollment" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="SectionMaxEnrollment" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="SectionIsActive" type="s:string" minOccurs="0" maxOccurs="1"/>

         <s:element name="SectionIsCanceled" type="s:string" minOccurs="0" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="SectionMeetings">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:SectionMeeting" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="SectionMeeting">

       <s:complexType>

         <s:sequence>

           <s:element name="SectionSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="SectionMeetingSiskey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="MeetingTypeSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="MeetingTypeName" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="SectionMeetingDaysMetPattern" type="s:string" minOccurs="0" maxOccurs="1"/>

           <s:element name="SectionMeetingStartTime" type="s:string" minOccurs="0" maxOccurs="1"/>

           <s:element name="SectionMeetingEndTime" type="s:string" minOccurs="0" maxOccurs="1"/>

           <s:element name="SectionMeetingStartDate" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="SectionMeetingEndDate" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="RoomSisKey" type="s:string" minOccurs="0" maxOccurs="1"/>

           <s:element name="SectionMeetingIsArranged" type="s:string" minOccurs="0" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="CourseMeetingTypes">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:CourseMeetingType" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="CourseMeetingType">

       <s:complexType>

         <s:sequence>

         

           <!-- Required Columns -->

           <s:element name="CourseMeetingTypeSisKey" />

           <s:element name="MeetingTypeSisKey" />

           <s:element name="CourseDeliveryMethodSisKey" />

         

           <!-- Optional Columns -->

           <s:element name="CourseMeetingTypeContactHours" />

           <s:element name="CourseMeetingTypeIsOnline" />

           <s:element name="CourseMeetingTypeIsArranged" />

           <s:element name="CourseMeetingTypeIsActive" />

 

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="Crosslists">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:Crosslist" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

   

     <s:element name="Crosslist">

       <s:complexType>

         <s:sequence>

           <s:element name="CrosslistSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="SectionMeetingSiskey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="CrosslistName" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="TermSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="CrosslistEnrollment" type="s:string" minOccurs="0" maxOccurs="1"/>

           <s:element name="CrosslistMaxEnrollment" type="s:string" minOccurs="0" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="Instructors">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:Instructor" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

   

     <s:element name="Instructor">

       <s:complexType>

         <s:sequence>

           <s:element name="SectionMeetingSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="InstructorSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="TermSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="InstructorEMail" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="PersonFullName" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="PersonFirstName" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="PersonMiddleName" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="PersonLastName" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="PersonTitle" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="ContactInformationPhone" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="ContactInformationMobile" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="ContactInformationEmail" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="InstructorIsActive" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

           <s:element name="DepartmentSisKey" type="s:string" minOccurs="0" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="InstructorCourses">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:InstructorCourse" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="InstructorCourse">

       <s:complexType>

         <s:sequence>

           <s:element name="InstructorCourseSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="InstructorSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="CourseMeetingTypeSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

   

     <s:element name="InstructorCourseCampuses">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:InstructorCourseCampus" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="InstructorCourseCampus">

       <s:complexType>

         <s:sequence>

           <s:element name="InstructorCourseSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

           <s:element name="CampusSisKey" type="s:string" minOccurs="1" maxOccurs="1"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="SectionUserFields">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:SectionUserField" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="SectionUserField">

       <s:complexType>

         <s:sequence>

           <s:element name="RecordSisKey" type="s:string" minOccurs="1" maxOccurs="1">

             <s:annotation>

               <s:documentation>

                 <![CDATA[The SisKey of the Section record with which to associate one or more following user field values.]]>

               </s:documentation>

             </s:annotation>

           </s:element>

           <s:any minOccurs="1" maxOccurs="unbounded">

             <s:annotation>

               <s:documentation>

                 <![CDATA[A single user field value to associate with the Section.  The name of the tag is the name of the user field and the string content is the value: <MyUserField1>abc</MyUserField1>]]>

               </s:documentation>

             </s:annotation>

           </s:any>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="SectionMeetingUserFields">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:SectionMeetingUserField" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="SectionMeetingUserField">

       <s:complexType>

         <s:sequence>

           <s:element name="RecordSisKey" type="s:string" minOccurs="1" maxOccurs="1">

             <s:annotation>

               <s:documentation>

                 <![CDATA[The SisKey of the SectionMeeting record with which to associate one or more following user field values.]]>

               </s:documentation>

             </s:annotation>

           </s:element>

           <s:any minOccurs="1" maxOccurs="unbounded">

             <s:annotation>

               <s:documentation>

                 <![CDATA[A single user field value to associate with the SectionMeeting.  The name of the tag is the name of the user field and the string content is the value: <MyUserField1>abc</MyUserField1>]]>

               </s:documentation>

             </s:annotation>

           </s:any>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="Deletes">

       <s:annotation>

         <s:documentation>

           <![CDATA[This section allows the web service to specify an explicit list of Sections and/or SectionMeeting to be deleted as part of the import.

                    Typically, Astra will attempt to determine what Sections/Meeting no longer exist in the imported Term and automatically delete them.

                    This optional section allows for fine grain control over what get deleted.

                   

                    A SisKey list that is empty is considred valid.  This is taken as an indication to Astra that nothing of that type should be deleted.]]>

         </s:documentation>

       </s:annotation>

       <s:complexType>

         <s:sequence minOccurs="0" maxOccurs="1">

         

           <!-- Explicit Section Deletes -->

           <s:element name="Section" minOccurs="0" maxOccurs="1">

             <s:annotation>

               <s:documentation>

                 <![CDATA[A list of SectionSisKeys of the Sections that should be deleted from Astra.

                          If specified, the 'DeleteSectionsNotInImportSet' SystemSetting is ingored in favor of the given delete list.

                          (ie, automatic deletes are disabled if an explicit list is given.)

                         

                          If this list is not given, then the 'DeleteSectionsNotInImportSet' policy will be honored, which may result in

                          automatic deletes.]]>

               </s:documentation>

             </s:annotation>

             <s:complexType>

               <s:sequence minOccurs="0" maxOccurs="unbounded">

                 <s:element name="SectionSisKey" type="s:string">

                   <s:annotation>

                     <s:documentation>

                       <![CDATA[The SisKey of one Section to delete from Astra.]]>

                     </s:documentation>

                   </s:annotation>

                 </s:element>

               </s:sequence>

               <s:attribute name="ignore" type="s:boolean" use="required">

                 <s:annotation>

                   <s:documentation>

                     <![CDATA[When true, indicates that Astra should ignore the contents of the list (empty or not).  Astra will treat the import as if

                              the <Section> node was not specified.  (This means that automatic deletes may take place depending on the

                              value of the 'DeleteSectionsNotInImportSet' setting.)

                             

                              This setting exists to allow a server implementation to always specify the <Section> node for cases

                              where the implementation cannot easily omit it for an empty list.]]>

                   </s:documentation>

                 </s:annotation>

               </s:attribute>

             </s:complexType>

           </s:element>

 

           <!-- Explicit SectionMeeting Deletes -->

           <s:element name="SectionMeeting" minOccurs="0" maxOccurs="1">

             <s:annotation>

               <s:documentation>

                 <![CDATA[A list of SectionMeetingSisKeys of the SectionMeetings that should be deleted from Astra.

                          If specified, the 'DeleteMeetingsNotInImportSet' SystemSetting is ingored in favor of the given delete list.

                          (ie, automatic deletes are disabled if an explicit list is given.)

                         

                          If this list is not given, then the 'DeleteMeetingsNotInImportSet' policy will be honored, which may result in

                          automatic deletes.]]>

               </s:documentation>

             </s:annotation>

             <s:complexType>

               <s:sequence minOccurs="0" maxOccurs="unbounded">

                 <s:element name="SectionMeetingSisKey" type="s:string">

                   <s:annotation>

                     <s:documentation>

                       <![CDATA[The SisKey of one SectionMeeting to delete from Astra.]]>

                     </s:documentation>

                   </s:annotation>

                 </s:element>

               </s:sequence>

               <s:attribute name="ignore" type="s:boolean" use="required">

                 <s:annotation>

                   <s:documentation>

                     <![CDATA[When true, indicates that Astra should ignore the contents of the list (empty or not).  Astra will treat the import as if

                              the <SectionMeeting> node was not specified.  (This means that automatic deletes may take place depending on the

                              value of the 'DeleteMeetingsNotInImportSet' setting.)

                             

                              This setting exists to allow a server implementation to always specify the <SectionMeeting> node for cases

                              where the implementation cannot easily omit it for an empty list.]]>

                   </s:documentation>

                 </s:annotation>

               </s:attribute>

             </s:complexType>

           </s:element>

 

           <!-- Semi-Explicit Campus/Term Deletes (Delete scoped to Campus/Term only, but set of actual items to delete auto-computed -->

           <s:element name="SectionsNotInImportSet" minOccurs="0" maxOccurs="1">

             <s:annotation>

               <s:documentation>

                 <![CDATA[This section allows the web service to specify an explicit list of Campus/Term combination that should be checked for missing Sections.

                          For each Campus/Term, any Section found in Astra that was not found in the import set will be deleted under the assumption that it was also

                          deleted from the SIS.

                         

                          The presence of this node will short-ciruit the automatic 'DeleteSectionNotInImportSet' behavior, preventing it from running if so configured.

 

                          Empty lists are valid, which will result in no automatic deletes.

                         

                          Only Sections in the given Campus/Term combination are considered for delete.  Missing Sections in the import set in other Campuses/Terms will

                          not trigger any deletes from Astra.]]>

               </s:documentation>

             </s:annotation>

             <s:complexType>

               <s:sequence>

                 <s:element name="CampusTerm" minOccurs="0" maxOccurs="unbounded">

                   <s:annotation>

                     <s:documentation>

                       <![CDATA[Identifies one complete Campus/Term combination.  Items in Astra for this Campus/Term not in the import response will be deleted.]]>

                     </s:documentation>

                   </s:annotation>

                   <s:complexType>

                     <s:sequence>

                       <s:element name="CampusSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

                       <s:element name="TermSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

                     </s:sequence>

                   </s:complexType>

                 </s:element>

               </s:sequence>

             </s:complexType>

           </s:element>

 

           <!-- Semi-Explicit Campus/Term Deletes (Delete scoped to Campus/Term only, but set of actual items to delete auto-computed -->

           <s:element name="SectionMeetingsNotInImportSet" minOccurs="0" maxOccurs="1">

             <s:annotation>

               <s:documentation>

                 <![CDATA[This section allows the web service to specify an explicit list of Campus/Term combination that should be checked for missing SectionsMeetings.

                          For each Campus/Term, any SectionMeeting found in Astra that was not found in the import set will be deleted under the assumption that it was also

                          deleted from the SIS.

                         

                          The presence of this node will short-ciruit the automatic 'DeleteMeetingsNotInImportSet' behavior, preventing it from running if so configured.

 

                          Empty lists are valid, which will result in no automatic deletes.

                         

                          Only SectionMeetings in the given Campus/Term combination are considered for delete.  Missing SectionMeetings in the import set in other Campuses/Terms will

                          not trigger any deletes from Astra.]]>

               </s:documentation>

             </s:annotation>

             <s:complexType>

               <s:sequence>

                 <s:element name="CampusTerm" minOccurs="0" maxOccurs="unbounded">

                   <s:annotation>

                     <s:documentation>

                       <![CDATA[Identifies one complete Campus/Term combination.  Items in Astra for this Campus/Term not in the import response will be deleted.]]>

                     </s:documentation>

                   </s:annotation>

                   <s:complexType>

                     <s:sequence>

                       <s:element name="CampusSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

                       <s:element name="TermSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

                     </s:sequence>

                   </s:complexType>

                 </s:element>

               </s:sequence>

             </s:complexType>

           </s:element>

 

                     

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="ImportResult">

       <s:complexType>

         <s:sequence>

           <s:element name="StatusCode" type="s:int" minOccurs="1" maxOccurs="1"/>

           <s:element name="Message" type="s:string" minOccurs="1" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

     </s:element>

 

   

     <s:element name="RoomsToSectionMeetings">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:RoomsToSectionMeeting" minOccurs="0" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="RoomsToSectionMeeting">

       <s:complexType>

         <s:sequence>

           <s:element name="RoomSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

           <s:element name="SectionMeetingSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="Errors">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:Error" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:complexType name="ErrorWarningFormat">

       <s:sequence>

         <s:element name="SectionMeetingSisKey" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="StatusCode" type="s:string" minOccurs="1" maxOccurs="1"/>

         <s:element name="Message" type="s:string" minOccurs="1" maxOccurs="1"/>

       </s:sequence>

     </s:complexType>

   

     <s:element name="Error">

       <s:complexType>

         <s:complexContent>

             <s:extension base="tns:ErrorWarningFormat" />

           </s:complexContent>

       </s:complexType>

     </s:element>

   

     <s:element name="Warnings">

       <s:complexType>

         <s:sequence>

           <s:element ref="tns:Warning" minOccurs="1" maxOccurs="unbounded"></s:element>

         </s:sequence>

       </s:complexType>

     </s:element>

 

     <s:element name="Warning">

       <s:complexType>

         <s:complexContent>

           <s:extension base="tns:ErrorWarningFormat" />

         </s:complexContent>

       </s:complexType>

     </s:element>

 

     <s:element name="AdAstraStatusResultRequest_MT" type="ns1:AdAstraStatusResultRequest_MT" />

     

     <s:complexType name="AdAstraStatusResultRequest_MT" >

         <s:sequence>

           <s:element ref="tns:Header" minOccurs="1" maxOccurs="1"/>

           <s:element ref="tns:ImportResult" minOccurs="1" maxOccurs="1"/>

         </s:sequence>

       </s:complexType>

 

     <s:element name="AdAstraStatusResultRequest_MTResponse" type="ns1:AdAstraStatusResultRequest_MTResponse" />

     

     <s:complexType name="AdAstraStatusResultRequest_MTResponse"/>

 

     <s:element name="AdAstraRoomsToSectionMeetingsRequest_MT" type="ns1:AdAstraRoomsToSectionMeetingsRequest_MT"/>

     

     <s:complexType name="AdAstraRoomsToSectionMeetingsRequest_MT">

         <s:sequence>

           <s:element ref="tns:RoomsToSectionMeetings" maxOccurs="1" minOccurs="0"/>

         </s:sequence>

       </s:complexType>

 

     <s:element name="AdAstraRoomsToSectionMeetingsResponse_MT" type="ns1:AdAstraRoomsToSectionMeetingsResponse_MT" />

     

     <s:complexType name="AdAstraRoomsToSectionMeetingsResponse_MT">

         <s:sequence>

           <s:element ref="tns:Errors" maxOccurs="1" minOccurs="0"/>

           <s:element ref="tns:Warnings" maxOccurs="1" minOccurs="0"/>

         </s:sequence>

       </s:complexType>

   

   </s:schema>

 </wsdl:types>

 <wsdl:message name="AdAstraStatusResultRequest_MTSoapIn">

   <wsdl:part name="parameters" element="tns:AdAstraStatusResultRequest_MT"/>

 </wsdl:message>

 <wsdl:message name="AdAstraStatusResultRequest_MTSoapOut">

   <wsdl:part name="parameters" element="tns:AdAstraStatusResultRequest_MTResponse"/>

 </wsdl:message>

 <wsdl:message name="AdAstraRequest_MTSoapIn">

   <wsdl:part name="parameters" element="tns:AdAstraRequest_MT"/>

 </wsdl:message>

 

 <wsdl:message name="AdAstraRequest_MTSoapOut">

   <wsdl:part name="parameters" element="tns:AdAstraResponse_MT" />

 </wsdl:message>

 <wsdl:message name="AdAstraRoomsToSectionMeetingsRequest_MTSoapIn">

   <wsdl:part name="parameters" element="tns:AdAstraRoomsToSectionMeetingsRequest_MT"/>

 </wsdl:message>

 <wsdl:message name="AdAstraRoomsToSectionMeetingsRequest_MTSoapOut">

   <wsdl:part name="parameters" element="tns:AdAstraRoomsToSectionMeetingsResponse_MT"/>

 </wsdl:message>

 <wsdl:portType name="Service1Soap">

   <wsdl:operation name="AdAstraStatusResultRequest_MT">

     <wsdl:input message="tns:AdAstraStatusResultRequest_MTSoapIn"/>

     <wsdl:output message="tns:AdAstraStatusResultRequest_MTSoapOut"/>

   </wsdl:operation>

   <wsdl:operation name="AdAstraRequest_MT">

     <wsdl:input message="tns:AdAstraRequest_MTSoapIn"/>

     <wsdl:output message="tns:AdAstraRequest_MTSoapOut"/>

   </wsdl:operation>

   <wsdl:operation name="AdAstraRoomsToSectionMeetingsRequest_MT">

     <wsdl:input message="tns:AdAstraRoomsToSectionMeetingsRequest_MTSoapIn"/>

     <wsdl:output message="tns:AdAstraRoomsToSectionMeetingsRequest_MTSoapOut"/>

   </wsdl:operation>

 </wsdl:portType>

 <wsdl:binding name="Service1Soap" type="tns:Service1Soap">

   <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>

   <wsdl:operation name="AdAstraStatusResultRequest_MT">

     <soap:operation style="document" soapAction="http://aais.com/AteWebTestService/AdAstraStatusResultRequest_MT"/>

     <wsdl:input>

       <soap:body use="literal"/>

     </wsdl:input>

     <wsdl:output>

       <soap:body use="literal" />

     </wsdl:output>

   </wsdl:operation>

 

   <wsdl:operation name="AdAstraRequest_MT">

     <soap:operation style="document" soapAction="http://aais.com/AteWebTestService/AdAstraRequest_MT"/>

     <wsdl:input>

       <soap:body use="literal" />

     </wsdl:input>

     <wsdl:output>

       <soap:body use="literal" />

     </wsdl:output>

   </wsdl:operation>

 

     <wsdl:operation name="AdAstraRoomsToSectionMeetingsRequest_MT">

     <soap:operation style="document" soapAction="http://aais.com/AteWebTestService/AdAstraRoomsToSectionMeetingsRequest_MT"/> <wsdl:input>

       <soap:body use="literal" />

     </wsdl:input>

       <wsdl:output>

       <soap:body use="literal" />

     </wsdl:output>

   </wsdl:operation>

 </wsdl:binding>

 <wsdl:binding name="Service1Soap12" type="tns:Service1Soap">

   <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>

   <wsdl:operation name="AdAstraStatusResultRequest_MT">

     <soap12:operation style="document" soapAction="http://aais.com/AteWebTestService/AdAstraStatusResultRequest_MT"/>

     <wsdl:input>

       <soap12:body use="literal"  />

     </wsdl:input>

     <wsdl:output>

       <soap12:body use="literal" />

     </wsdl:output>

   </wsdl:operation>

 

   <wsdl:operation name="AdAstraRequest_MT">

     <soap12:operation style="document" soapAction="http://aais.com/AteWebTestService/AdAstraRequest_MT"/>

     <wsdl:input>

       <soap12:body use="literal" />

     </wsdl:input>

     <wsdl:output>

       <soap12:body use="literal" />

     </wsdl:output>

   </wsdl:operation>

 

   <wsdl:operation name="AdAstraRoomsToSectionMeetingsRequest_MT">

     <soap12:operation style="document" soapAction="http://aais.com/AteWebTestService/AdAstraRoomsToSectionMeetingsRequest_MT"/>

     <wsdl:input>

       <soap12:body use="literal" />

     </wsdl:input>

     <wsdl:output>

       <soap12:body use="literal"  />

     </wsdl:output>

   </wsdl:operation>

 </wsdl:binding>

 <wsdl:service name="Service1">

   <wsdl:port name="Service1Soap" binding="tns:Service1Soap">

     <soap:address location="http://localhost:61141/Service1.asmx"/>

   </wsdl:port>

   <wsdl:port name="Service1Soap12" binding="tns:Service1Soap12">

     <soap12:address location="http://localhost:61141/Service1.asmx"/>

   </wsdl:port>

 </wsdl:service>

</wsdl:definitions>