readAllPersons
This method is implemented by the itslearning proprietary ExtendedPersonManagement service, see Managing persons, and is not part of the formal IMS ES spec.
Method description
Method to read all users in the system, including manually created users without a sync key. Also allows a sync key to be created on read. NOTE: ReadAllPersons will also return users without a synckey
Preconditions for use
Method needs to be enabled in IMS-ES integration settings.
Message Schema
Input parameters / request message elements
Name | Description | Data type | Allowed values | M/O |
---|---|---|---|---|
PageIndex | The page number which should be returned. | Integer | >=1 | M |
PageSize | The page size (maximum user count on the page). For performance reasons it is recommened to use 100 as maximum value. | Integer | >=1 | M |
CreatedFrom | Returns all users created after a specific date. Date must be in UTC format. | Date (UTC) | O | |
OnlyManuallyCreatedUsers | Returns only those users who are manually created. The default value is "false". Manually created users are:
| Boolean | true/false | O |
ConvertFromManual | Autogenerate synckey for users missing syncKey. This means that if a user returned does not have any syncID in itslearning at the time you do the request, a syncID for the user is autogenerated and stored on the person in itslearning.
| Boolean | true/false | O |
Please refer to the WSDL for the full element structure, only key elements are described here.
Response message elements
Name | Description | Data type |
---|---|---|
<personIdPairSet> | Wrapper element for a list of personIdPair elements | |
<personIdPair> | Wrapper element for one <sourcedId><identifier> and one <person> element | |
<personIdPair><sourcedId><identifier> | The sync ID of the person object | Text |
<personIdPair><person> | The person object itself | Object |
VirtualCount | Total count of persons in I itslearning to be retuned | Integer |
Example 1
Description
I want to read all active users (manually and not manually created) in itslearning, and I only want 3 persons to be returned per request.
Example request message
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0"
xmlns:ims1
=
"http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"
>
<
soapenv
:Header>
<
ims1
:syncRequestHeaderInfo>
<
ims1
:messageIdentifier>1234567890</
ims1
:messageIdentifier>
</
ims1
:syncRequestHeaderInfo>
</
soapenv
:Header>
<
soapenv
:Body>
<
ims
:readAllPersonsRequest>
<
ims
:PageIndex>1</
ims
:PageIndex>
<
ims
:PageSize>3</
ims
:PageSize>
</
ims
:readAllPersonsRequest>
</
soapenv
:Body>
</
soapenv
:Envelope>
Example response message
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
>
<
s
:Header>
<
h
:syncResponseHeaderInfo>
<
messageIdentifier
>1234567890</
messageIdentifier
>
<
statusInfo
>
<
codeMajor
>success</
codeMajor
>
<
severity
>status</
severity
>
<
messageIdRef
>1234567890</
messageIdRef
>
</
statusInfo
>
</
h
:syncResponseHeaderInfo>
<
o
:Security
s:mustUnderstand
=
"1"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2011-02-04T15:01:36.218Z</
u
:Created>
<
u
:Expires>2011-02-04T15:06:36.218Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
readAllPersonsResponse
>
<
personIdPairSet
>
<
personIdPair
>
<
sourcedId
>
<
identifier
>66666</
identifier
>
</
sourcedId
>
<
person
>
<
formatName
/>
<
name
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>John</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>Johnsen</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
/>
</
partName
>
</
name
>
<
email
/>
<
URL
/>
<
userId
>
<
userIdValue
>jonjon</
userIdValue
>
</
userId
>
<
address
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
>
<
gender
>Male</
gender
>
</
demographics
>
<
institutionRole
>
<
institutionRoleType
>Student</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
>
<
telValue
/>
</
tel
>
<
tel
>
<
telValue
/>
</
tel
>
<
extension
/>
</
person
>
</
personIdPair
>
<
personIdPair
>
<
sourcedId
>
<
identifier
>77777</
identifier
>
</
sourcedId
>
<
person
>
<
formatName
/>
<
name
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>Anny</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>Olseon</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
/>
</
partName
>
</
name
>
<
email
/>
<
URL
/>
<
userId
>
<
userIdValue
>annols</
userIdValue
>
</
userId
>
<
address
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
>
<
gender
>Male</
gender
>
</
demographics
>
<
institutionRole
>
<
institutionRoleType
>Student</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
>
<
telValue
/>
</
tel
>
<
tel
>
<
telValue
/>
</
tel
>
<
extension
/>
</
person
>
</
personIdPair
>
<
personIdPair
>
<
sourcedId
>
<
identifier
>abc123</
identifier
>
</
sourcedId
>
<
person
>
<
formatName
/>
<
name
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>Nelly</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>Anderson</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
/>
</
partName
>
</
name
>
<
URL
/>
<
userId
>
<
userIdValue
>neland</
userIdValue
>
</
userId
>
<
address
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
>
<
gender
>Male</
gender
>
</
demographics
>
<
institutionRole
>
<
institutionRoleType
>Student</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
>
<
telValue
/>
</
tel
>
<
tel
>
<
telValue
/>
</
tel
>
<
extension
/>
</
person
>
</
personIdPair
>
<
personIdPair
>
<
sourcedId
>
<
identifier
/>
</
sourcedId
>
<
person
>
<
formatName
/>
<
name
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>External</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>External</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
/>
</
partName
>
</
name
>
<
email
/>
<
URL
/>
<
userId
>
<
userIdValue
>External</
userIdValue
>
</
userId
>
<
address
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
>
<
gender
>Male</
gender
>
</
demographics
>
<
institutionRole
>
<
institutionRoleType
>Guest</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
>
<
telValue
/>
</
tel
>
<
tel
>
<
telValue
/>
</
tel
>
<
extension
>
<
extensionField
>
<
fieldName
>IsExternalUser</
fieldName
>
<
fieldType
>Bool</
fieldType
>
<
fieldValue
>True</
fieldValue
>
</
extensionField
>
<
extensionField
>
<
fieldName
>nationalidentitynumber</
fieldName
>
<
fieldType
>String</
fieldType
>
<
fieldValue
>External_ABC</
fieldValue
>
</
extensionField
>
<
extensionField
>
<
fieldName
>customstring2</
fieldName
>
<
fieldType
>String</
fieldType
>
<
fieldValue
>External_DEF</
fieldValue
>
</
extensionField
>
</
extension
>
</
person
>
</
personIdPair
>
</
personIdPairSet
>
<
virtualCount
>78</
virtualCount
>
</
readAllPersonsResponse
>
</
s
:Body>
</
s
:Envelope>
Example 2
Description
I want to read all users (manually and not manually created) in itslearning that were created after '2011-11-27 14:30:23'
Example request message
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0"
xmlns:ims1
=
"http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"
>
<
soapenv
:Header>
<
ims1
:syncRequestHeaderInfo>
<
ims1
:messageIdentifier>1234567890</
ims1
:messageIdentifier>
</
ims1
:syncRequestHeaderInfo>
</
soapenv
:Header>
<
soapenv
:Body>
<
ims
:readAllPersonsRequest>
<
ims
:PageIndex>1</
ims
:PageIndex>
<
ims
:PageSize>2</
ims
:PageSize>
<
ims
:CreatedFrom> 2011-12-30T10:21:00Z</
ims
:CreatedFrom>
</
ims
:readAllPersonsRequest>
</
soapenv
:Body>
</
soapenv
:Envelope>
Example response message
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
h
:syncResponseHeaderInfo>
<
messageIdentifier
>1234567890</
messageIdentifier
>
<
statusInfo
>
<
codeMajor
>success</
codeMajor
>
<
severity
>status</
severity
>
<
messageIdRef
>1234567890</
messageIdRef
>
</
statusInfo
>
</
h
:syncResponseHeaderInfo>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2011-12-30T12:08:11.415Z</
u
:Created>
<
u
:Expires>2011-12-30T12:13:11.415Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd
=
"http://www.w3.org/2001/XMLSchema"
>
<
readAllPersonsResponse
>
<
personIdPairSet
>
<
personIdPair
>
<
sourcedId
>
<
identifier
>1111</
identifier
>
</
sourcedId
>
<
person
>
<
formatName
xsi:nil
=
"true"
/>
<
name
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>James</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>Dean</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
>jamie</
namePartValue
>
</
partName
>
</
name
>
<
URL
/>
<
userId
>
<
userIdValue
>jamdea</
userIdValue
>
</
userId
>
<
address
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
>
<
gender
>Male</
gender
>
<
bday
>1926-07-03</
bday
>
</
demographics
>
<
institutionRole
>
<
institutionRoleType
>Student</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
>
<
telValue
>12774</
telValue
>
</
tel
>
<
tel
>
<
telValue
>876987</
telValue
>
</
tel
>
</
person
>
</
personIdPair
>
</
personIdPairSet
>
<
virtualCount
>1</
virtualCount
>
</
readAllPersonsResponse
>
</
s
:Body>
</
s
:Envelope>
Example 3
Description
I want to read only manually created users.
Example request message
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0"
xmlns:ims1
=
"http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"
>
<
soapenv
:Header>
<
ims1
:syncRequestHeaderInfo>
<
ims1
:messageIdentifier>1234567890</
ims1
:messageIdentifier>
</
ims1
:syncRequestHeaderInfo>
</
soapenv
:Header>
<
soapenv
:Body>
<
ims
:readAllPersonsRequest>
<
ims
:PageIndex>1</
ims
:PageIndex>
<
ims
:PageSize>2</
ims
:PageSize>
<
ims
:OnlyManuallyCreatedUsers>true</
ims
:OnlyManuallyCreatedUsers>
</
ims
:readAllPersonsRequest>
</
soapenv
:Body>
</
soapenv
:Envelope>
Example response message
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:u
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
>
<
s
:Header>
<
h
:syncResponseHeaderInfo
xmlns:h
=
"http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"
xmlns
=
"http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd
=
"http://www.w3.org/2001/XMLSchema"
>
<
messageIdentifier
/>
<
statusInfo
>
<
codeMajor
>success</
codeMajor
>
<
severity
>status</
severity
>
<
messageIdRef
/>
</
statusInfo
>
</
h
:syncResponseHeaderInfo>
<
o
:Security
s:mustUnderstand
=
"1"
xmlns:o
=
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2013-07-26T11:07:47.720Z</
u
:Created>
<
u
:Expires>2013-07-26T11:12:47.720Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd
=
"http://www.w3.org/2001/XMLSchema"
>
<
readAllPersonsResponse
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0"
>
<
personIdPairSet
>
<
personIdPair
>
<
sourcedId
>
<
identifier
xmlns
=
"http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"
/>
</
sourcedId
>
<
person
>
<
formatName
xsi:nil
=
"true"
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
/>
<
name
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>Bagge</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>Trond Reinhold</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
/>
</
partName
>
</
name
>
<
email
xmlns
=
"http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"
/>
<
URL
xmlns
=
"http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"
/>
<
userId
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
userIdValue
xmlns
=
"http://www.imsglobal.org/services/common/imsCommonSchema_v1p0"
>BT00</
userIdValue
>
</
userId
>
<
address
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
gender
>Male</
gender
>
</
demographics
>
<
institutionRole
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
institutionRoleType
>Student</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
telType
>Voice</
telType
>
<
telValue
/>
</
tel
>
<
tel
xmlns
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManDataSchema_v1p0"
>
<
telType
>Mobile</
telType
>
<
telValue
/>
</
tel
>
</
person
>
</
personIdPair
>
</
personIdPairSet
>
<
virtualCount
>6393</
virtualCount
>
</
readAllPersonsResponse
>
</
s
:Body>
</
s
:Envelope>
Example 4
Description
I want read all manually created users and autogenerate synckey for users missing synckey
Example request message
<
soapenv
:Envelope
xmlns:soapenv
=
"http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ims
=
"http://www.imsglobal.org/services/pms/xsd/imsPersonManMessSchema_v1p0"
xmlns:ims1
=
"http://www.imsglobal.org/services/common/imsMessBindSchema_v1p0"
>
<
soapenv
:Header>
<
ims1
:syncRequestHeaderInfo>
<
ims1
:messageIdentifier>1234567890</
ims1
:messageIdentifier>
</
ims1
:syncRequestHeaderInfo>
</
soapenv
:Header>
<
soapenv
:Body>
<
ims
:readAllPersonsRequest>
<
ims
:PageIndex>1</
ims
:PageIndex>
<
ims
:PageSize>1</
ims
:PageSize>
<
ims
:OnlyManuallyCreatedUsers>true</
ims
:OnlyManuallyCreatedUsers>
<
ims
:ConvertFromManual>true</
ims
:ConvertFromManual>
</
ims
:readAllPersonsRequest>
</
soapenv
:Body>
</
soapenv
:Envelope>
Example response message
<
s
:Envelope
xmlns:s
=
"http://schemas.xmlsoap.org/soap/envelope/"
>
<
s
:Header>
<
h
:syncResponseHeaderInfo>
<
messageIdentifier
>1234567890</
messageIdentifier
>
<
statusInfo
>
<
codeMajor
>success</
codeMajor
>
<
severity
>status</
severity
>
<
messageIdRef
>1234567890</
messageIdRef
>
</
statusInfo
>
</
h
:syncResponseHeaderInfo>
<
o
:Security
s:mustUnderstand
=
"1"
>
<
u
:Timestamp
u:Id
=
"_0"
>
<
u
:Created>2011-02-04T15:01:36.218Z</
u
:Created>
<
u
:Expires>2011-02-04T15:06:36.218Z</
u
:Expires>
</
u
:Timestamp>
</
o
:Security>
</
s
:Header>
<
s
:Body>
<
readAllPersonsResponse
>
<
personIdPairSet
>
<
personIdPair
>
<
sourcedId
>
<
identifier
/>
<
identifier
>itsla-26ba98b5-539a-4055-ba0e-249ed2673c36</
identifier
>
</
sourcedId
>
<
person
>
<
formatName
/>
<
name
>
<
partName
>
<
namePartType
>First</
namePartType
>
<
namePartValue
>External</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Last</
namePartType
>
<
namePartValue
>External</
namePartValue
>
</
partName
>
<
partName
>
<
namePartType
>Nick</
namePartType
>
<
namePartValue
/>
</
partName
>
</
name
>
<
email
/>
<
URL
/>
<
userId
>
<
userIdValue
>External</
userIdValue
>
</
userId
>
<
address
>
<
extadd
/>
<
locality
/>
<
postcode
/>
<
street
/>
</
address
>
<
demographics
>
<
gender
>Male</
gender
>
</
demographics
>
<
institutionRole
>
<
institutionRoleType
>Guest</
institutionRoleType
>
<
primaryRoleType
>true</
primaryRoleType
>
</
institutionRole
>
<
tel
>
<
telValue
/>
</
tel
>
<
tel
>
<
telValue
/>
</
tel
>
<
extension
>
<
extensionField
>
<
fieldName
>IsExternalUser</
fieldName
>
<
fieldType
>Bool</
fieldType
>
<
fieldValue
>True</
fieldValue
>
</
extensionField
>
<
extensionField
>
<
fieldName
>nationalidentitynumber</
fieldName
>
<
fieldType
>String</
fieldType
>
<
fieldValue
>External_ABC</
fieldValue
>
</
extensionField
>
<
extensionField
>
<
fieldName
>customstring2</
fieldName
>
<
fieldType
>String</
fieldType
>
<
fieldValue
>External_DEF</
fieldValue
>
</
extensionField
>
</
extension
>
</
person
>
</
personIdPair
>
</
personIdPairSet
>
<
virtualCount
>78</
virtualCount
>
</
readAllPersonsResponse
>
</
s
:Body>
</
s
:Envelope>