Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am using openlayers API in my web application and trying to interact with the local GeoServer via WPS. The problem I am facing is that, WPS client.execute() works only in case, if the output of the Process is Geometry type (i.e. for JTS:intersection, JTS:buffer, etc). It does not seem to work if the output is double/string/bool(i.e. for JTS:area, JTS:envelope, JTS:equalsExact, etc).

For eg., the following code does not popup a "success" message.

 var geometry = OpenLayers.Geometry.fromWKT(
                   'POLYGON((110 20,120 20,120 10,110 10,110 20))'
                );

 client.execute({
            server: "local",
            //process: "JTS:envelope",
            process: "JTS:geometryType",
            inputs: {
                geom: geometry
            },          
            success: function(output) {
                alert('success');
            }
  });

But if I happen to replace JTS:geometryType with JTS:envelope, it works !!..

Not much of tutorials are available on internet. Is it a restriction in client.execute() or am I doing something wrong in the code ?

Thanks.

share|improve this question
add comment

1 Answer

I haven't found the right answer to this problem, until now... but anyway, for others facing similar problem, here is a workaround solution.

testWPS is my WPS process whose input is string and output is string

OpenLayers.Request.POST({
        url: "http://localhost:8080/geoserver/wps,
        params: {
            "SERVICE": "WPS",
            "REQUEST": "Execute",
            "VERSION": '1.0.0',
            "IDENTIFIER": 'gs:testWPS',
            "RawDataOutput": 'result',
            "datainputs": "name=this now works with string,double,bool as output"
        },
        success: function(response) {
                     //Do something on success
        },
        failure: function(res){     
                     alert('failure');
        }

    });
share|improve this answer
    
You can mark your own answer as accepted. –  Devdatta Tengshe May 29 '13 at 5:19
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.