/** * @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)); }