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());
     }
 }