better error handling for the WFS Protocol, note this is currently only done for WFS 1.1.0 and not for WFS 1.0.0, thanks tschaub for the reviews this week, r=tschaub (closes #3354)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12080 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -249,13 +249,19 @@ OpenLayers.Protocol.WFS.v1 = OpenLayers.Class(OpenLayers.Protocol, {
|
||||
var request = response.priv;
|
||||
if(request.status >= 200 && request.status < 300) {
|
||||
// success
|
||||
if (options.readOptions && options.readOptions.output == "object") {
|
||||
OpenLayers.Util.extend(response,
|
||||
this.parseResponse(request, options.readOptions));
|
||||
var result = this.parseResponse(request, options.readOptions);
|
||||
if (result && result.success !== false) {
|
||||
if (options.readOptions && options.readOptions.output == "object") {
|
||||
OpenLayers.Util.extend(response, result);
|
||||
} else {
|
||||
response.features = result;
|
||||
}
|
||||
response.code = OpenLayers.Protocol.Response.SUCCESS;
|
||||
} else {
|
||||
response.features = this.parseResponse(request, options.readOptions);
|
||||
// failure (service exception)
|
||||
response.code = OpenLayers.Protocol.Response.FAILURE;
|
||||
response.error = result;
|
||||
}
|
||||
response.code = OpenLayers.Protocol.Response.SUCCESS;
|
||||
} else {
|
||||
// failure
|
||||
response.code = OpenLayers.Protocol.Response.FAILURE;
|
||||
@@ -346,9 +352,12 @@ OpenLayers.Protocol.WFS.v1 = OpenLayers.Class(OpenLayers.Protocol, {
|
||||
var obj = this.format.read(data) || {};
|
||||
|
||||
response.insertIds = obj.insertIds || [];
|
||||
response.code = (obj.success) ?
|
||||
OpenLayers.Protocol.Response.SUCCESS :
|
||||
OpenLayers.Protocol.Response.FAILURE;
|
||||
if (obj.success) {
|
||||
response.code = OpenLayers.Protocol.Response.SUCCESS;
|
||||
} else {
|
||||
response.code = OpenLayers.Protocol.Response.FAILURE;
|
||||
response.error = obj;
|
||||
}
|
||||
options.callback.call(options.scope, response);
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user