rem: this.log( exc ); 
add: this.log( errorToString(exc) ); 
context:     getServerInfo:    function( uri )    {        var str;        var icalRootComp = null;        try {            // currently, xml parsing at an early stage during process startup            // does not work reliably, so use libical:            str = issueSyncRequest(                uri.spec + "version.wcap?fmt-out=text%2Fcalendar" );            if (str.indexOf("BEGIN:VCALENDAR") < 0)                throw new Components.Exception("no ical data returned!");            icalRootComp = getIcsService().parseICS( str );        }        catch (exc) {            this.log( exc ); // soft error; request denied etc.            throw new Components.Exception(                getWcapBundle().formatStringFromName(                    "accessingServerFailedError.text", [uri.hostPort], 1 ),                isNaN(exc) ? Components.results.NS_ERROR_FAILURE : exc );        }                var prop = icalRootComp.getFirstProperty( "X-NSCP-WCAPVERSION" );        if (!prop) {            throw new Components.Exception(                "missing X-NSCP-WCAPVERSION in\n" + str );        }        var wcapVersion = parseInt(prop.value);        if (wcapVersion < 3) {            var strVers = prop.value;            var vars = [uri.hostPort];            prop = icalRootComp.getFirstProperty( "PRODID" );            vars.push( prop ? prop.value : "<unknown>" );            prop = icalRootComp.getFirstProperty( "X-NSCP-SERVERVERSION" );            vars.push( prop ? prop.value : "<unknown>" );            vars.push( strVers );                        var prompt = getWindowWatcher().getNewPrompter(null);            var bundle = getWcapBundle();            var labelText = bundle.GetStringFromName(                "insufficientWcapVersionConfirmation.label");            if (!prompt.confirm( labelText,                                 bundle.formatStringFromName(                                     "insufficientWcapVersionConfirmation.text",                                     vars, vars.length ) )) {                throw new Components.Exception(labelText);            }        }        return getWcapBundle().formatStringFromName( "loginDialog.text",                                                     [uri.hostPort], 1 );    },
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/188119b7f6030137779a9d95b9ad28b7b33fed6e/calWcapSession.js/clean/calendar/providers/wcap/calWcapSession.js