public function rateSupplier(SapSupplier $supplier)
 {
     $addresses = array();
     $contactEmployees = array();
     $sapSupplierAddresses = $supplier->getAddresses();
     $sapSupplierContactEmployees = $supplier->getContacts();
     while ($sapSupplierAddress = $sapSupplierAddresses->read()) {
         $addresses[] = self::createSapSupplierAddress($sapSupplierAddress);
     }
     while ($sapSupplierContactEmployee = $sapSupplierContactEmployees->read()) {
         $contactEmployees[] = self::createSapSupplierContactEmployee($sapSupplierContactEmployee);
     }
     $parameters['sapBusinessPartner'] = array("Cardcode" => $supplier->getCardcode(), "Cardname" => utf8_encode($supplier->getCardname()), "Currency" => $supplier->getCurrency(), "GroupNum" => $supplier->getGroupnum(), "GroupCode" => $supplier->getGroupCode(), "LicTradNum" => utf8_encode($supplier->getRfc()), "CmpRegistrationNumber" => 123, "concistency" => $supplier->getConsistency(), "idApprovalStatus" => $supplier->getIdApprovalStatus(), "idDefinedPort" => $supplier->getIdDefaultPort(), "idFinalGrandRisk" => $supplier->getIdFinalRisk(), "idPaymentTerms" => $supplier->getIdPaymentTerm(), "quality" => $supplier->getQuality(), "time" => $supplier->getTime(), "remarks" => utf8_encode($supplier->getNotes()), "paydays" => $supplier->getPayDays(), "typeCompany" => $supplier->getCmpPrivate(), "SupplierAddresses" => $addresses, "contactPersons" => $contactEmployees);
     $result = $this->soapClient->rateSupplier($parameters);
     return $result;
 }