def _bulkHttp(self, bulkmethod, submitdata=None, pheaders=None, httpmethods='POST'): """ Methods to run http callout to salesforce. @type: string @param bulkmethod: what kind of bulk request (e.g self.JOB, self.BATCH) @type: string @param submitdata: data to be submitted @type: dict @param pheaders: HTTP header information @type: string @param: httpmethods: GET / POST methods to be used in bulk request """ #print bulkmethod #print submitdata headers = self.__standardHeaders if headers is not None: if type(pheaders) == dict: for keyh, valueh in pheaders.iteritems(): headers[keyh] = valueh if self.callClient is None: if self.sessionid is not None: self.callClient = Callout(logger=self.logger) else: self.__raise('Unauthorized Error') url = self.__constructBulkUrl(bulkmethod) getLogger(STDERR).debug("%s url: %s ", httpmethods, url) getLogger(STDERR).debug("headers: %s", headers) getLogger(STDERR).debug("data: %s", submitdata) resp = self.callClient.docall(url, httpmethods, submitdata, headers) return resp