return uploadToken
        else:
            #trace("RemoteSession","prepareUploadToken","ASKING FOR NEW CHUNK")
            pass
        
        result = None
        
        try:
            #trace("RemoteSession","prepareUploadToken","Before server.prepareUpload")
            #print "sessionId",self.getSessionId()
            #print "dirId", dirId
            #print "fileData", fileData
            
            #Each upload request will use its own JSONRPC proxy, since the proxy is not Threadsafe.
            prepareUploadServiceProxy = ServiceProxy(self.remote_url)
            result = prepareUploadServiceProxy.prepareUpload(self.getSessionId(),fileData,dirId)

            #trace("RemoteSession","prepareUploadToken result->",result)
            
            result = self._readRemoteResponse(result)
        except Exception,e:
            print "RemoteSession.prepareUploadToken() -> Exception, we got this as a result so far\nResult:\n",result,"\nException Object:\n",e,"\n","*"*40
            raise e

        if self.status != '1':
            raise Exception(result,self.status)

        #With the result we build an UploadToken Object.
        uploadToken = None

        try: