swad-core/html/api/swad.wsdl

1323 lines
60 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="swad"
targetNamespace="urn:swad"
xmlns:tns="urn:swad"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:swad="urn:swad"
xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:HTTP="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="urn:swad"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:swad="urn:swad"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="course"><!-- swad__course -->
<sequence>
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__course::courseCode -->
<element name="courseShortName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__course::courseShortName -->
<element name="courseFullName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__course::courseFullName -->
<element name="userRole" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__course::userRole -->
</sequence>
</complexType>
<complexType name="coursesArray"><!-- swad__coursesArray -->
<sequence>
<element name="item" type="swad:course" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="groupType"><!-- swad__groupType -->
<sequence>
<element name="groupTypeCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__groupType::groupTypeCode -->
<element name="groupTypeName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__groupType::groupTypeName -->
<element name="mandatory" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__groupType::mandatory -->
<element name="multiple" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__groupType::multiple -->
<element name="openTime" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- swad__groupType::openTime -->
</sequence>
</complexType>
<complexType name="groupTypesArray"><!-- swad__groupTypesArray -->
<sequence>
<element name="item" type="swad:groupType" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="group"><!-- swad__group -->
<sequence>
<element name="groupCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::groupCode -->
<element name="groupName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__group::groupName -->
<element name="groupTypeCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::groupTypeCode -->
<element name="groupTypeName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__group::groupTypeName -->
<element name="open" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::open -->
<element name="maxStudents" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::maxStudents -->
<element name="numStudents" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::numStudents -->
<element name="fileZones" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::fileZones -->
<element name="member" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__group::member -->
</sequence>
</complexType>
<complexType name="groupsArray"><!-- swad__groupsArray -->
<sequence>
<element name="item" type="swad:group" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="notification"><!-- swad__notification -->
<sequence>
<element name="notifCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__notification::notifCode -->
<element name="eventType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::eventType -->
<element name="eventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__notification::eventCode -->
<element name="eventTime" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- swad__notification::eventTime -->
<element name="userNickname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::userNickname -->
<element name="userSurname1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::userSurname1 -->
<element name="userSurname2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::userSurname2 -->
<element name="userFirstname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::userFirstname -->
<element name="userPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::userPhoto -->
<element name="location" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::location -->
<element name="status" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__notification::status -->
<element name="summary" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::summary -->
<element name="content" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__notification::content -->
</sequence>
</complexType>
<complexType name="notificationsArray"><!-- swad__notificationsArray -->
<sequence>
<element name="item" type="swad:notification" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="tag"><!-- swad__tag -->
<sequence>
<element name="tagCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__tag::tagCode -->
<element name="tagText" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__tag::tagText -->
</sequence>
</complexType>
<complexType name="tagsArray"><!-- swad__tagsArray -->
<sequence>
<element name="item" type="swad:tag" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="question"><!-- swad__question -->
<sequence>
<element name="questionCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__question::questionCode -->
<element name="answerType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__question::answerType -->
<element name="shuffle" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__question::shuffle -->
<element name="stem" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__question::stem -->
<element name="feedback" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__question::feedback -->
</sequence>
</complexType>
<complexType name="questionsArray"><!-- swad__questionsArray -->
<sequence>
<element name="item" type="swad:question" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="answer"><!-- swad__answer -->
<sequence>
<element name="questionCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__answer::questionCode -->
<element name="answerIndex" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__answer::answerIndex -->
<element name="correct" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__answer::correct -->
<element name="answerText" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__answer::answerText -->
<element name="answerFeedback" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__answer::answerFeedback -->
</sequence>
</complexType>
<complexType name="answersArray"><!-- swad__answersArray -->
<sequence>
<element name="item" type="swad:answer" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="questionTag"><!-- swad__questionTag -->
<sequence>
<element name="questionCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__questionTag::questionCode -->
<element name="tagCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__questionTag::tagCode -->
<element name="tagIndex" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__questionTag::tagIndex -->
</sequence>
</complexType>
<complexType name="questionTagsArray"><!-- swad__questionTagsArray -->
<sequence>
<element name="item" type="swad:questionTag" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="user"><!-- swad__user -->
<sequence>
<element name="userCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__user::userCode -->
<element name="userNickname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__user::userNickname -->
<element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__user::userID -->
<element name="userSurname1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__user::userSurname1 -->
<element name="userSurname2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__user::userSurname2 -->
<element name="userFirstname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__user::userFirstname -->
<element name="userPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__user::userPhoto -->
</sequence>
</complexType>
<complexType name="usersArray"><!-- swad__usersArray -->
<sequence>
<element name="item" type="swad:user" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="attendanceEvent"><!-- swad__attendanceEvent -->
<sequence>
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceEvent::attendanceEventCode -->
<element name="hidden" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceEvent::hidden -->
<element name="userSurname1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::userSurname1 -->
<element name="userSurname2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::userSurname2 -->
<element name="userFirstname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::userFirstname -->
<element name="userPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::userPhoto -->
<element name="startTime" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceEvent::startTime -->
<element name="endTime" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceEvent::endTime -->
<element name="commentsTeachersVisible" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceEvent::commentsTeachersVisible -->
<element name="title" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::title -->
<element name="text" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::text -->
<element name="groups" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceEvent::groups -->
</sequence>
</complexType>
<complexType name="attendanceEventsArray"><!-- swad__attendanceEventsArray -->
<sequence>
<element name="item" type="swad:attendanceEvent" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<complexType name="attendanceUser"><!-- swad__attendanceUser -->
<sequence>
<element name="userCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceUser::userCode -->
<element name="userNickname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceUser::userNickname -->
<element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceUser::userID -->
<element name="userSurname1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceUser::userSurname1 -->
<element name="userSurname2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceUser::userSurname2 -->
<element name="userFirstname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceUser::userFirstname -->
<element name="userPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__attendanceUser::userPhoto -->
<element name="present" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__attendanceUser::present -->
</sequence>
</complexType>
<complexType name="attendanceUsersArray"><!-- swad__attendanceUsersArray -->
<sequence>
<element name="item" type="swad:attendanceUser" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
</sequence>
</complexType>
<!-- operation request element -->
<element name="createAccount">
<complexType>
<sequence>
<element name="userNickname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__createAccount::userNickname -->
<element name="userEmail" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__createAccount::userEmail -->
<element name="userPassword" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__createAccount::userPassword -->
<element name="appKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__createAccount::appKey -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="createAccountOutput">
<complexType>
<sequence>
<element name="userCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__createAccountOutput::userCode -->
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__createAccountOutput::wsKey -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="loginByUserPasswordKey">
<complexType>
<sequence>
<element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKey::userID -->
<element name="userPassword" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKey::userPassword -->
<element name="appKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKey::appKey -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="loginByUserPasswordKeyOutput">
<complexType>
<sequence>
<element name="userCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginByUserPasswordKeyOutput::userCode -->
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::wsKey -->
<element name="userNickname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userNickname -->
<element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userID -->
<element name="userSurname1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userSurname1 -->
<element name="userSurname2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userSurname2 -->
<element name="userFirstname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userFirstname -->
<element name="userPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userPhoto -->
<element name="userBirthday" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginByUserPasswordKeyOutput::userBirthday -->
<element name="userRole" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginByUserPasswordKeyOutput::userRole -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="loginBySessionKey">
<complexType>
<sequence>
<element name="sessionID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKey::sessionID -->
<element name="appKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKey::appKey -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="loginBySessionKeyOutput">
<complexType>
<sequence>
<element name="userCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginBySessionKeyOutput::userCode -->
<element name="degreeTypeCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginBySessionKeyOutput::degreeTypeCode -->
<element name="degreeCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginBySessionKeyOutput::degreeCode -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginBySessionKeyOutput::courseCode -->
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::wsKey -->
<element name="userNickname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userNickname -->
<element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userID -->
<element name="userSurname1" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userSurname1 -->
<element name="userSurname2" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userSurname2 -->
<element name="userFirstname" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userFirstname -->
<element name="userPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userPhoto -->
<element name="userBirthday" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::userBirthday -->
<element name="userRole" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__loginBySessionKeyOutput::userRole -->
<element name="degreeTypeName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::degreeTypeName -->
<element name="degreeName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::degreeName -->
<element name="courseName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__loginBySessionKeyOutput::courseName -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getNewPassword">
<complexType>
<sequence>
<element name="userID" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getNewPassword::userID -->
<element name="appKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getNewPassword::appKey -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getNewPasswordOutput">
<complexType>
<sequence>
<element name="success" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getNewPasswordOutput::success -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getCourses">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getCourses::wsKey -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getCoursesOutput">
<complexType>
<sequence>
<element name="numCourses" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getCoursesOutput::numCourses -->
<element name="coursesArray" type="swad:coursesArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getCoursesOutput::coursesArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getCourseInfo">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getCourseInfo::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getCourseInfo::courseCode -->
<element name="infoType" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getCourseInfo::infoType -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getCourseInfoOutput">
<complexType>
<sequence>
<element name="infoSrc" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getCourseInfoOutput::infoSrc -->
<element name="infoTxt" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getCourseInfoOutput::infoTxt -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getGroupTypes">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getGroupTypes::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getGroupTypes::courseCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getGroupTypesOutput">
<complexType>
<sequence>
<element name="numGroupTypes" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getGroupTypesOutput::numGroupTypes -->
<element name="groupTypesArray" type="swad:groupTypesArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getGroupTypesOutput::groupTypesArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getGroups">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getGroups::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getGroups::courseCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getGroupsOutput">
<complexType>
<sequence>
<element name="numGroups" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getGroupsOutput::numGroups -->
<element name="groupsArray" type="swad:groupsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getGroupsOutput::groupsArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="sendMyGroups">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendMyGroups::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendMyGroups::courseCode -->
<element name="myGroups" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendMyGroups::myGroups -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="sendMyGroupsOutput">
<complexType>
<sequence>
<element name="success" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendMyGroupsOutput::success -->
<element name="numGroups" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendMyGroupsOutput::numGroups -->
<element name="groupsArray" type="swad:groupsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__sendMyGroupsOutput::groupsArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getDirectoryTree">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getDirectoryTree::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getDirectoryTree::courseCode -->
<element name="groupCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getDirectoryTree::groupCode -->
<element name="treeCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getDirectoryTree::treeCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getDirectoryTreeOutput">
<complexType>
<sequence>
<element name="tree" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getDirectoryTreeOutput::tree -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getFile">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getFile::wsKey -->
<element name="fileCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getFile::fileCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getFileOutput">
<complexType>
<sequence>
<element name="fileName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getFileOutput::fileName -->
<element name="URL" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getFileOutput::URL -->
<element name="size" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getFileOutput::size -->
<element name="time" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getFileOutput::time -->
<element name="license" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getFileOutput::license -->
<element name="publisherName" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getFileOutput::publisherName -->
<element name="publisherPhoto" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getFileOutput::publisherPhoto -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getMarks">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getMarks::wsKey -->
<element name="fileCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getMarks::fileCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getMarksOutput">
<complexType>
<sequence>
<element name="content" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getMarksOutput::content -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getTestConfig">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getTestConfig::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTestConfig::courseCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getTestConfigOutput">
<complexType>
<sequence>
<element name="pluggable" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTestConfigOutput::pluggable -->
<element name="numQuestions" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTestConfigOutput::numQuestions -->
<element name="minQuestions" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTestConfigOutput::minQuestions -->
<element name="defQuestions" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTestConfigOutput::defQuestions -->
<element name="maxQuestions" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTestConfigOutput::maxQuestions -->
<element name="feedback" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getTestConfigOutput::feedback -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getTests">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getTests::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getTests::courseCode -->
<element name="beginTime" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- swad__getTests::beginTime -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getTestsOutput">
<complexType>
<sequence>
<element name="tagsArray" type="swad:tagsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getTestsOutput::tagsArray -->
<element name="questionsArray" type="swad:questionsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getTestsOutput::questionsArray -->
<element name="answersArray" type="swad:answersArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getTestsOutput::answersArray -->
<element name="questionTagsArray" type="swad:questionTagsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getTestsOutput::questionTagsArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getTrivialQuestion">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getTrivialQuestion::wsKey -->
<element name="degrees" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getTrivialQuestion::degrees -->
<element name="lowerScore" type="xsd:float" minOccurs="1" maxOccurs="1"/><!-- swad__getTrivialQuestion::lowerScore -->
<element name="upperScore" type="xsd:float" minOccurs="1" maxOccurs="1"/><!-- swad__getTrivialQuestion::upperScore -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getTrivialQuestionOutput">
<complexType>
<sequence>
<element name="question" type="swad:question" minOccurs="1" maxOccurs="1"/><!-- swad__getTrivialQuestionOutput::question -->
<element name="answersArray" type="swad:answersArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getTrivialQuestionOutput::answersArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getUsers">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getUsers::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getUsers::courseCode -->
<element name="groups" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getUsers::groups -->
<element name="userRole" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getUsers::userRole -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getUsersOutput">
<complexType>
<sequence>
<element name="numUsers" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getUsersOutput::numUsers -->
<element name="usersArray" type="swad:usersArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getUsersOutput::usersArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="findUsers">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__findUsers::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__findUsers::courseCode -->
<element name="filter" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__findUsers::filter -->
<element name="userRole" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__findUsers::userRole -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getAttendanceEvents">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getAttendanceEvents::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getAttendanceEvents::courseCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getAttendanceEventsOutput">
<complexType>
<sequence>
<element name="numEvents" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getAttendanceEventsOutput::numEvents -->
<element name="eventsArray" type="swad:attendanceEventsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getAttendanceEventsOutput::eventsArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="sendAttendanceEvent">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendAttendanceEvent::wsKey -->
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEvent::attendanceEventCode -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEvent::courseCode -->
<element name="hidden" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEvent::hidden -->
<element name="startTime" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEvent::startTime -->
<element name="endTime" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEvent::endTime -->
<element name="commentsTeachersVisible" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEvent::commentsTeachersVisible -->
<element name="title" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendAttendanceEvent::title -->
<element name="text" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendAttendanceEvent::text -->
<element name="groups" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendAttendanceEvent::groups -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="sendAttendanceEventOutput">
<complexType>
<sequence>
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceEventOutput::attendanceEventCode -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="removeAttendanceEvent">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__removeAttendanceEvent::wsKey -->
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__removeAttendanceEvent::attendanceEventCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="removeAttendanceEventOutput">
<complexType>
<sequence>
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__removeAttendanceEventOutput::attendanceEventCode -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getAttendanceUsers">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getAttendanceUsers::wsKey -->
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getAttendanceUsers::attendanceEventCode -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getAttendanceUsersOutput">
<complexType>
<sequence>
<element name="numUsers" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getAttendanceUsersOutput::numUsers -->
<element name="usersArray" type="swad:attendanceUsersArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getAttendanceUsersOutput::usersArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="sendAttendanceUsers">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendAttendanceUsers::wsKey -->
<element name="attendanceEventCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceUsers::attendanceEventCode -->
<element name="users" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendAttendanceUsers::users -->
<element name="setOthersAsAbsent" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceUsers::setOthersAsAbsent -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="sendAttendanceUsersOutput">
<complexType>
<sequence>
<element name="success" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceUsersOutput::success -->
<element name="numUsers" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendAttendanceUsersOutput::numUsers -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="getNotifications">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__getNotifications::wsKey -->
<element name="beginTime" type="xsd:long" minOccurs="1" maxOccurs="1"/><!-- swad__getNotifications::beginTime -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="getNotificationsOutput">
<complexType>
<sequence>
<element name="numNotifications" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__getNotificationsOutput::numNotifications -->
<element name="notificationsArray" type="swad:notificationsArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__getNotificationsOutput::notificationsArray -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="markNotificationsAsRead">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__markNotificationsAsRead::wsKey -->
<element name="notifications" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__markNotificationsAsRead::notifications -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="markNotificationsAsReadOutput">
<complexType>
<sequence>
<element name="numNotifications" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__markNotificationsAsReadOutput::numNotifications -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="sendNotice">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendNotice::wsKey -->
<element name="courseCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendNotice::courseCode -->
<element name="body" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendNotice::body -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="sendNoticeOutput">
<complexType>
<sequence>
<element name="noticeCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendNoticeOutput::noticeCode -->
</sequence>
</complexType>
</element>
<!-- operation request element -->
<element name="sendMessage">
<complexType>
<sequence>
<element name="wsKey" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendMessage::wsKey -->
<element name="messageCode" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendMessage::messageCode -->
<element name="to" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendMessage::to -->
<element name="subject" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendMessage::subject -->
<element name="body" type="xsd:string" minOccurs="0" maxOccurs="1" nillable="true"/><!-- swad__sendMessage::body -->
</sequence>
</complexType>
</element>
<!-- operation response element -->
<element name="sendMessageOutput">
<complexType>
<sequence>
<element name="numUsers" type="xsd:int" minOccurs="1" maxOccurs="1"/><!-- swad__sendMessageOutput::numUsers -->
<element name="usersArray" type="swad:usersArray" minOccurs="1" maxOccurs="1" nillable="true"/><!-- swad__sendMessageOutput::usersArray -->
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="createAccount">
<part name="Body" element="swad:createAccount"/><!-- swad__createAccount::swad__createAccount -->
</message>
<message name="createAccountOutput">
<part name="Body" element="swad:createAccountOutput"/><!-- swad__createAccount::createAccountOut -->
</message>
<message name="loginByUserPasswordKey">
<part name="Body" element="swad:loginByUserPasswordKey"/><!-- swad__loginByUserPasswordKey::swad__loginByUserPasswordKey -->
</message>
<message name="loginByUserPasswordKeyOutput">
<part name="Body" element="swad:loginByUserPasswordKeyOutput"/><!-- swad__loginByUserPasswordKey::loginByUserPasswordKeyOut -->
</message>
<message name="loginBySessionKey">
<part name="Body" element="swad:loginBySessionKey"/><!-- swad__loginBySessionKey::swad__loginBySessionKey -->
</message>
<message name="loginBySessionKeyOutput">
<part name="Body" element="swad:loginBySessionKeyOutput"/><!-- swad__loginBySessionKey::loginBySessionKeyOut -->
</message>
<message name="getNewPassword">
<part name="Body" element="swad:getNewPassword"/><!-- swad__getNewPassword::swad__getNewPassword -->
</message>
<message name="getNewPasswordOutput">
<part name="Body" element="swad:getNewPasswordOutput"/><!-- swad__getNewPassword::getNewPasswordOut -->
</message>
<message name="getCourses">
<part name="Body" element="swad:getCourses"/><!-- swad__getCourses::swad__getCourses -->
</message>
<message name="getCoursesOutput">
<part name="Body" element="swad:getCoursesOutput"/><!-- swad__getCourses::getCoursesOut -->
</message>
<message name="getCourseInfo">
<part name="Body" element="swad:getCourseInfo"/><!-- swad__getCourseInfo::swad__getCourseInfo -->
</message>
<message name="getCourseInfoOutput">
<part name="Body" element="swad:getCourseInfoOutput"/><!-- swad__getCourseInfo::getCourseInfoOut -->
</message>
<message name="getGroupTypes">
<part name="Body" element="swad:getGroupTypes"/><!-- swad__getGroupTypes::swad__getGroupTypes -->
</message>
<message name="getGroupTypesOutput">
<part name="Body" element="swad:getGroupTypesOutput"/><!-- swad__getGroupTypes::getGroupTypesOut -->
</message>
<message name="getGroups">
<part name="Body" element="swad:getGroups"/><!-- swad__getGroups::swad__getGroups -->
</message>
<message name="getGroupsOutput">
<part name="Body" element="swad:getGroupsOutput"/><!-- swad__getGroups::getGroupsOut -->
</message>
<message name="sendMyGroups">
<part name="Body" element="swad:sendMyGroups"/><!-- swad__sendMyGroups::swad__sendMyGroups -->
</message>
<message name="sendMyGroupsOutput">
<part name="Body" element="swad:sendMyGroupsOutput"/><!-- swad__sendMyGroups::sendMyGroupsOut -->
</message>
<message name="getDirectoryTree">
<part name="Body" element="swad:getDirectoryTree"/><!-- swad__getDirectoryTree::swad__getDirectoryTree -->
</message>
<message name="getDirectoryTreeOutput">
<part name="Body" element="swad:getDirectoryTreeOutput"/><!-- swad__getDirectoryTree::getDirectoryTreeOut -->
</message>
<message name="getFile">
<part name="Body" element="swad:getFile"/><!-- swad__getFile::swad__getFile -->
</message>
<message name="getFileOutput">
<part name="Body" element="swad:getFileOutput"/><!-- swad__getFile::getFileOut -->
</message>
<message name="getMarks">
<part name="Body" element="swad:getMarks"/><!-- swad__getMarks::swad__getMarks -->
</message>
<message name="getMarksOutput">
<part name="Body" element="swad:getMarksOutput"/><!-- swad__getMarks::getMarksOut -->
</message>
<message name="getTestConfig">
<part name="Body" element="swad:getTestConfig"/><!-- swad__getTestConfig::swad__getTestConfig -->
</message>
<message name="getTestConfigOutput">
<part name="Body" element="swad:getTestConfigOutput"/><!-- swad__getTestConfig::getTestConfigOut -->
</message>
<message name="getTests">
<part name="Body" element="swad:getTests"/><!-- swad__getTests::swad__getTests -->
</message>
<message name="getTestsOutput">
<part name="Body" element="swad:getTestsOutput"/><!-- swad__getTests::getTestsOut -->
</message>
<message name="getTrivialQuestion">
<part name="Body" element="swad:getTrivialQuestion"/><!-- swad__getTrivialQuestion::swad__getTrivialQuestion -->
</message>
<message name="getTrivialQuestionOutput">
<part name="Body" element="swad:getTrivialQuestionOutput"/><!-- swad__getTrivialQuestion::getTrivialQuestionOut -->
</message>
<message name="getUsers">
<part name="Body" element="swad:getUsers"/><!-- swad__getUsers::swad__getUsers -->
</message>
<message name="getUsersOutput">
<part name="Body" element="swad:getUsersOutput"/><!-- swad__getUsers::getUsersOut -->
</message>
<message name="findUsers">
<part name="Body" element="swad:findUsers"/><!-- swad__findUsers::swad__findUsers -->
</message>
<message name="getAttendanceEvents">
<part name="Body" element="swad:getAttendanceEvents"/><!-- swad__getAttendanceEvents::swad__getAttendanceEvents -->
</message>
<message name="getAttendanceEventsOutput">
<part name="Body" element="swad:getAttendanceEventsOutput"/><!-- swad__getAttendanceEvents::getAttendanceEventsOut -->
</message>
<message name="sendAttendanceEvent">
<part name="Body" element="swad:sendAttendanceEvent"/><!-- swad__sendAttendanceEvent::swad__sendAttendanceEvent -->
</message>
<message name="sendAttendanceEventOutput">
<part name="Body" element="swad:sendAttendanceEventOutput"/><!-- swad__sendAttendanceEvent::sendAttendanceEventOut -->
</message>
<message name="removeAttendanceEvent">
<part name="Body" element="swad:removeAttendanceEvent"/><!-- swad__removeAttendanceEvent::swad__removeAttendanceEvent -->
</message>
<message name="removeAttendanceEventOutput">
<part name="Body" element="swad:removeAttendanceEventOutput"/><!-- swad__removeAttendanceEvent::removeAttendanceEventOut -->
</message>
<message name="getAttendanceUsers">
<part name="Body" element="swad:getAttendanceUsers"/><!-- swad__getAttendanceUsers::swad__getAttendanceUsers -->
</message>
<message name="getAttendanceUsersOutput">
<part name="Body" element="swad:getAttendanceUsersOutput"/><!-- swad__getAttendanceUsers::getAttendanceUsersOut -->
</message>
<message name="sendAttendanceUsers">
<part name="Body" element="swad:sendAttendanceUsers"/><!-- swad__sendAttendanceUsers::swad__sendAttendanceUsers -->
</message>
<message name="sendAttendanceUsersOutput">
<part name="Body" element="swad:sendAttendanceUsersOutput"/><!-- swad__sendAttendanceUsers::sendAttendanceUsersOut -->
</message>
<message name="getNotifications">
<part name="Body" element="swad:getNotifications"/><!-- swad__getNotifications::swad__getNotifications -->
</message>
<message name="getNotificationsOutput">
<part name="Body" element="swad:getNotificationsOutput"/><!-- swad__getNotifications::getNotificationsOut -->
</message>
<message name="markNotificationsAsRead">
<part name="Body" element="swad:markNotificationsAsRead"/><!-- swad__markNotificationsAsRead::swad__markNotificationsAsRead -->
</message>
<message name="markNotificationsAsReadOutput">
<part name="Body" element="swad:markNotificationsAsReadOutput"/><!-- swad__markNotificationsAsRead::markNotificationAsReadOut -->
</message>
<message name="sendNotice">
<part name="Body" element="swad:sendNotice"/><!-- swad__sendNotice::swad__sendNotice -->
</message>
<message name="sendNoticeOutput">
<part name="Body" element="swad:sendNoticeOutput"/><!-- swad__sendNotice::sendNoticeOut -->
</message>
<message name="sendMessage">
<part name="Body" element="swad:sendMessage"/><!-- swad__sendMessage::swad__sendMessage -->
</message>
<message name="sendMessageOutput">
<part name="Body" element="swad:sendMessageOutput"/><!-- swad__sendMessage::sendMessageOut -->
</message>
<portType name="swadPortType">
<operation name="createAccount">
<documentation>Service definition of function swad__createAccount</documentation>
<input message="tns:createAccount"/>
<output message="tns:createAccountOutput"/>
</operation>
<operation name="loginByUserPasswordKey">
<documentation>Service definition of function swad__loginByUserPasswordKey</documentation>
<input message="tns:loginByUserPasswordKey"/>
<output message="tns:loginByUserPasswordKeyOutput"/>
</operation>
<operation name="loginBySessionKey">
<documentation>Service definition of function swad__loginBySessionKey</documentation>
<input message="tns:loginBySessionKey"/>
<output message="tns:loginBySessionKeyOutput"/>
</operation>
<operation name="getNewPassword">
<documentation>Service definition of function swad__getNewPassword</documentation>
<input message="tns:getNewPassword"/>
<output message="tns:getNewPasswordOutput"/>
</operation>
<operation name="getCourses">
<documentation>Service definition of function swad__getCourses</documentation>
<input message="tns:getCourses"/>
<output message="tns:getCoursesOutput"/>
</operation>
<operation name="getCourseInfo">
<documentation>Service definition of function swad__getCourseInfo</documentation>
<input message="tns:getCourseInfo"/>
<output message="tns:getCourseInfoOutput"/>
</operation>
<operation name="getGroupTypes">
<documentation>Service definition of function swad__getGroupTypes</documentation>
<input message="tns:getGroupTypes"/>
<output message="tns:getGroupTypesOutput"/>
</operation>
<operation name="getGroups">
<documentation>Service definition of function swad__getGroups</documentation>
<input message="tns:getGroups"/>
<output message="tns:getGroupsOutput"/>
</operation>
<operation name="sendMyGroups">
<documentation>Service definition of function swad__sendMyGroups</documentation>
<input message="tns:sendMyGroups"/>
<output message="tns:sendMyGroupsOutput"/>
</operation>
<operation name="getDirectoryTree">
<documentation>Service definition of function swad__getDirectoryTree</documentation>
<input message="tns:getDirectoryTree"/>
<output message="tns:getDirectoryTreeOutput"/>
</operation>
<operation name="getFile">
<documentation>Service definition of function swad__getFile</documentation>
<input message="tns:getFile"/>
<output message="tns:getFileOutput"/>
</operation>
<operation name="getMarks">
<documentation>Service definition of function swad__getMarks</documentation>
<input message="tns:getMarks"/>
<output message="tns:getMarksOutput"/>
</operation>
<operation name="getTestConfig">
<documentation>Service definition of function swad__getTestConfig</documentation>
<input message="tns:getTestConfig"/>
<output message="tns:getTestConfigOutput"/>
</operation>
<operation name="getTests">
<documentation>Service definition of function swad__getTests</documentation>
<input message="tns:getTests"/>
<output message="tns:getTestsOutput"/>
</operation>
<operation name="getTrivialQuestion">
<documentation>Service definition of function swad__getTrivialQuestion</documentation>
<input message="tns:getTrivialQuestion"/>
<output message="tns:getTrivialQuestionOutput"/>
</operation>
<operation name="getUsers">
<documentation>Service definition of function swad__getUsers</documentation>
<input message="tns:getUsers"/>
<output message="tns:getUsersOutput"/>
</operation>
<operation name="findUsers">
<documentation>Service definition of function swad__findUsers</documentation>
<input message="tns:findUsers"/>
<output message="tns:getUsersOutput"/>
</operation>
<operation name="getAttendanceEvents">
<documentation>Service definition of function swad__getAttendanceEvents</documentation>
<input message="tns:getAttendanceEvents"/>
<output message="tns:getAttendanceEventsOutput"/>
</operation>
<operation name="sendAttendanceEvent">
<documentation>Service definition of function swad__sendAttendanceEvent</documentation>
<input message="tns:sendAttendanceEvent"/>
<output message="tns:sendAttendanceEventOutput"/>
</operation>
<operation name="removeAttendanceEvent">
<documentation>Service definition of function swad__removeAttendanceEvent</documentation>
<input message="tns:removeAttendanceEvent"/>
<output message="tns:removeAttendanceEventOutput"/>
</operation>
<operation name="getAttendanceUsers">
<documentation>Service definition of function swad__getAttendanceUsers</documentation>
<input message="tns:getAttendanceUsers"/>
<output message="tns:getAttendanceUsersOutput"/>
</operation>
<operation name="sendAttendanceUsers">
<documentation>Service definition of function swad__sendAttendanceUsers</documentation>
<input message="tns:sendAttendanceUsers"/>
<output message="tns:sendAttendanceUsersOutput"/>
</operation>
<operation name="getNotifications">
<documentation>Service definition of function swad__getNotifications</documentation>
<input message="tns:getNotifications"/>
<output message="tns:getNotificationsOutput"/>
</operation>
<operation name="markNotificationsAsRead">
<documentation>Service definition of function swad__markNotificationsAsRead</documentation>
<input message="tns:markNotificationsAsRead"/>
<output message="tns:markNotificationsAsReadOutput"/>
</operation>
<operation name="sendNotice">
<documentation>Service definition of function swad__sendNotice</documentation>
<input message="tns:sendNotice"/>
<output message="tns:sendNoticeOutput"/>
</operation>
<operation name="sendMessage">
<documentation>Service definition of function swad__sendMessage</documentation>
<input message="tns:sendMessage"/>
<output message="tns:sendMessageOutput"/>
</operation>
</portType>
<binding name="swad" type="tns:swadPortType">
<SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="createAccount">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="loginByUserPasswordKey">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="loginBySessionKey">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getNewPassword">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getCourses">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getCourseInfo">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getGroupTypes">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getGroups">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="sendMyGroups">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getDirectoryTree">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getFile">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getMarks">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getTestConfig">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getTests">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getTrivialQuestion">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getUsers">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="findUsers">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getAttendanceEvents">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="sendAttendanceEvent">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="removeAttendanceEvent">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getAttendanceUsers">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="sendAttendanceUsers">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="getNotifications">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="markNotificationsAsRead">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="sendNotice">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
<operation name="sendMessage">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body parts="Body" use="literal"/>
</input>
<output>
<SOAP:body parts="Body" use="literal"/>
</output>
</operation>
</binding>
<service name="swad">
<documentation>gSOAP 2.8.17r generated service definition</documentation>
<port name="swad" binding="tns:swad">
<SOAP:address location="https://openswad.org/"/>
</port>
</service>
</definitions>