public function action_index()	{
		//Username and password used for the web connector, QWC file, and the QB Framework
		$user = 'QBAPI Username';
		$pass = 'QBAPI Password';

		//Configure the logging level
		$log_level = QUICKBOOKS_LOG_DEVELOP;

		//Pure-PHP SOAP server
		$soapserver = QUICKBOOKS_SOAPSERVER_BUILTIN;

		//we can turn this off 
		$handler_options = array(
			'deny_concurrent_logins' => false, 
			'deny_reallyfast_logins' => false, 
		);

		// The next three params $map, $errmap, and $hooks are callbacks which
		// will be called when certain actions/events/requests/responses occur within
		// the framework

		// Maps inbound requests to functions 
		$map = array(
			QUICKBOOKS_ADD_CUSTOMER => array( array($this, '_quickbooks_customer_add_request'), array($this,'_quickbooks_customer_add_response' )),
			QUICKBOOKS_MOD_CUSTOMER => array( array($this, '_quickbooks_customer_mod_request'), array($this, '_quickbooks_customer_mod_response')),
		);
		
		//Map error handling to functions
		$errmap = array(
			3070 => array($this, '_quickbooks_error_stringtoolong'),
			3140	=> array($this, '_quickbooks_reference_error'),
			'*'	=>	array($this, '_quickbooks_error_handler'),
		);

		//Login success callback
		$hooks = array(
			QuickBooks_WebConnector_Handlers::HOOK_LOGINSUCCESS => array(array($this,'_quickbooks_hook_loginsuccess')),
			);

		//MySQL database name containing the QuickBooks tables is named 'quickbooks' (if the tables don't exist, they'll be created for you) 
		$dsn = 'mysql://username:password@host/databasename';

		QuickBooks_WebConnector_Queue_Singleton::initialize($dsn);

		if (!QuickBooks_Utilities::initialized($dsn)) {
			// Initialize creates the neccessary database schema for queueing up requests and logging
			QuickBooks_Utilities::initialize($dsn);

			// This creates a username and password which is used by the Web Connector to authenticate
			QuickBooks_Utilities::createUser($dsn, $user, $pass);
		
			// Initial test case customer
			$primary_key_of_new_customer = 512;
		
			// Fire up the Queue
			$Queue = new QuickBooks_WebConnector_Queue($dsn);
		
			// Drop the directive and the customer into the queue
			$Queue->enqueue(QUICKBOOKS_ADD_CUSTOMER, $primary_key_of_new_customer);
	
			// Also note the that ->enqueue() method supports some other parameters: 
			// 	string $action				The type of action to queue up
			//	mixed $ident = null			Pass in the unique primary key of your record here, so you can pull the data from your application to build a qbXML request in your request handler
			//	$priority = 0				You can assign priorities to requests, higher priorities get run first
			//	$extra = null				Any extra data you want to pass to the request/response handler
			//	$user = null				If you're using multiple usernames, you can pass the username of the user to queue this up for here
			//	$qbxml = null				
			//	$replace = true			
		}
		//To be used with singleton queue
		$driver_options = array();	
	
		//Callback options, not needed at the moment
		$callback_options = array();

		//nothing needed here at the moment
		$soap_options = array();	
		
		//construct a new instance of the web connector server
		$Server = new QuickBooks_WebConnector_Server($dsn, $map, $errmap, $hooks, $log_level, $soapserver, QUICKBOOKS_WSDL, $soap_options, $handler_options, $driver_options, $callback_options);
		
		//instruct server to handle responses
		$response = $Server->handle(true, true);
	}