public function readMembershipsSoap($membership) { try { $soap = $this->readMemberships(array('sourcedIdSet' => array('sourcedId' => $membership->getMembershipIds()))); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $memberships = array(); if (isset($soap->membershipRecordSet->membershipRecord)) { if (!is_array($soap->membershipRecordSet->membershipRecord)) { $soap->membershipRecordSet->membershipRecord = array($soap->membershipRecordSet->membershipRecord); } foreach ($soap->membershipRecordSet->membershipRecord as $record) { $tiiMembership = new TiiMembership(); $tiiMembership->setMembershipId($record->sourcedGUID->sourcedId); $tiiMembership->setClassId($record->membership->collectionSourcedId); $tiiMembership->setUserId($record->membership->member->personSourcedId); $tiiMembership->setRole($record->membership->member->role->roleType); $memberships[] = $tiiMembership; } } $response->setMemberships($memberships); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }