On 05/11/2011 08:07 AM, Eric Lemoine wrote:
On Tuesday, May 10, 2011, flexer<[email protected]>  wrote:
I have got the same error (Exception... "Component returned failure code:
0xc1f30001 .... )
And I have found another solution:

Do NOT call "this._object.send(vData);"
if  "this._object.abort();" has been called (see XMLHttpRequest.js).

-----------------------
Look at Request.js:
             window.setTimeout(function(){
                 if (request._aborted !== true) {
                     request.send(config.data);
                 }
             }, 0);

and look at XMLHttpRequest.js :
     cXMLHttpRequest.prototype.send    = function(vData) {
         // Add method sniffer
         if (cXMLHttpRequest.onsend)
     ....

and look at XMLHttpRequest.js:
    cXMLHttpRequest.prototype.abort    = function() {
         ....
         // BUGFIX: Gecko - unnecessary DONE when aborting
         if (this.readyState>  cXMLHttpRequest.UNSENT)
             this._aborted    = true;
         this._object.abort();
         ....
-----------------------

I have added to XMLHttpRequest.js these lines and the problem was solved:

     cXMLHttpRequest.prototype.send    = function(vData) {
         if (!!this._isAbortCalled)
             return;
         ....

     cXMLHttpRequest.prototype.abort    = function() {
         this._isAbortCalled    = true;
         ....

---------------------
I.e.
       try { this._object.send(vData); } catch (e) {}
looks like a workaround.
What do you think?
Could you check my changes on your system if it solves your problem?
Hi

Is the problem reproducible on one of the OpenLayers examples?
(http://www.openlayers.org/dev/examples)

What version of OpenLayers do you use? Do you have the problem with
OpenLayers trunk?

XMLHttpRequest.js already includes a state variable to know if abort()
has been called, namely _aborted. But abort() sets _aborted to true
only if the XHR status is greater than UNSET. Could you try to have
abort() unconditionally set _aborted to true and see if that fixes it?
Thanks.

Hi
-------
It looks like the problem is reproducible here : http://www.openlayers.org/dev/examples/getfeature-wfs.html : POST http://www.openlayers.org/dev/examples/proxy.cgi...p%3A%2F%2Fv2.suite.opengeo.org%2Fgeoserver%2Fows POST http://www.openlayers.org/dev/examples/proxy.cgi?url=http%3A%2F%2Fv2.suite.opengeo.org%2Fgeoserver%2Fows

Aborted

OpenLayers.js (line 969)

- that is from Firebug console.
- there is ".send..." method;
then I have manually wrap "this._object.send(this._data);" with "try{..}catch(e){alert(e)}" and have got this exception : [Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "file:///media/TMP/tmp_shara/OL-ex/getfeature-wfs_files/OpenLayers.js Line: 11177"]
So seems I have done something wrong.
-------
We use 2.10 (stable) version of OpanLayer.
-------
The problem occurred right in the case XHR status is NOT greater then UNSENT (on abort() call).

I have removed my fix and have commented this line:
   if (this.readyState > cXMLHttpRequest.UNSENT)
- this also fixes the problem: checked on FF3.6.17+ubuntu; F3.6.17+winXP; IE8+winXP ;
- BUT that line is marked as "BUGFIX" !
- I have also found a strange side effect at IE (! but NOT at FF) (after commenting that line) : ... but seems that is completely another problem and most probably it does NOT relate to current ticket: "this.blocks.length" is null or not an object Framed.js, line:140 character 24

Thanks.
_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users

Reply via email to