/**
  * @param AdCenterUser $user AdCenterUser Object
  * @param string $wsdl WSDL for the service
  * @param string $namespace
  */
 public function __construct(AdCenterUser $user, $wsdl, $namespace)
 {
     // Set the user
     $this->_user = $user;
     // Set the namespace
     $this->_namespace = $namespace;
     // Set the input headers which are required for every adCenter SOAP call
     $this->_requiredInputHeaders = array(new SoapHeader($this->GetNamespace(), "UserName", $this->_user->GetUserName()), new SoapHeader($this->GetNamespace(), "Password", $this->_user->GetPassword()), new SoapHeader($this->GetNamespace(), "DeveloperToken", $this->_user->GetDeveloperToken()), new SoapHeader($this->GetNamespace(), "CustomerAccountId", $this->_user->GetCustomerAccountId()));
     // Default class map (these are shared over all)
     $defaultClassMap = array("Date" => "AdCenter_Date", "ApplicationFault" => "AdCenter_ApplicationFault", "AdApiFaultDetail" => "AdCenter_AdApiFaultDetail", "AdApiError" => "AdCenter_AdApiError", "ApiFault" => "AdCenter_ApiFault", "BatchError" => "AdCenter_BatchError", "OperationError" => "AdCenter_OperationError");
     // Map our custom classes
     $classMap = array_merge($defaultClassMap, $this->GetClassMap());
     // Call the parent SoapClient constructor
     parent::__construct($wsdl, array("trace" => true, "classmap" => $classMap, "features" => SOAP_SINGLE_ELEMENT_ARRAYS));
 }