Hello every body,
I'm looking for  the structure of a URL for a query getFeatureInfo works 
because I 
used the code below but it gives me the following error:
"QUERY_LAYERS contains layers not cited in LAYERS".
with the exit URL : 
http://localhost:8080/geoserver/wms?Y=-42&X=147&SERVICE=WMS&FORMAT=image/png&HEIGHT=400&REQUEST=GetFeatureInfo&WIDTH=400&BBOX=-114.01268,59.4596930,-113.26043,60.0835794&SRS=EPSG:4326&QUERY_LAYERS=nurc%3AArc_Sample&VERSION=1.1.1
when i put the exit URL directly in the browser with the correct layer 
(QUERY_LAYERS=nurc:Arc_Sample) it give me the same error !
The code:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Iterator;
import org.geotools.data.ows.Layer;
import org.geotools.data.ows.WMSCapabilities;
import org.geotools.data.wms.WMSUtils;
import org.geotools.data.wms.WebMapServer;
import org.geotools.data.wms.request.GetFeatureInfoRequest;
import org.geotools.data.wms.request.GetMapRequest;
import org.geotools.data.wms.response.GetFeatureInfoResponse;

public class GetFeatureInfo {
    public static void main(String[] args) throws Exception {           
                   try{                       
                        URL url = new 
URL("http://localhost:8080/geoserver/wms?REQUEST=GetCapabilities";);
                        WebMapServer wms = new WebMapServer(url);
                        WMSCapabilities caps = wms.getCapabilities();
                        Layer layer = null;
                        for( Iterator i = caps.getLayerList().iterator(); 
i.hasNext();){                        
                            Layer test = (Layer) i.next();                      
      
                            if( test.getName() != null && 
test.getName().length() != 0 ){                            
                                layer = test;
                                break;
                            }
                        }         
                     // GetFeatureInfo needs a GetMap before
                       GetMapRequest getMapRequest = wms.createGetMapRequest(); 
            
                    // We set the SRS
                       getMapRequest.setSRS("EPSG:4326");
                    // We set the dimensions of the output
                       getMapRequest.setDimensions("400", "400");
                    // We set the output format
                       getMapRequest.setFormat("image/png");
                    // We set the BBOX of the requested Map
                       
getMapRequest.setBBox("-114.01268,59.4596930,-113.26043,60.0835794");           
 
                    // Now, we can create our GetFeatureInfo, from the previous 
GetMap
                       GetFeatureInfoRequest request = 
wms.createGetFeatureInfoRequest(getMapRequest);
                    // We want request this layer            
                       request.addQueryLayer(layer);               
                   // We need information from this point
                       request.setQueryPoint(147,-42);                          
                  
                       System.out.println(request.getFinalURL());
                    // We ask the server
                       GetFeatureInfoResponse response = 
(GetFeatureInfoResponse) wms.issueRequest(request);
                       System.out.println(response.getContentType());           
           
                       BufferedReader in = new BufferedReader(new 
InputStreamReader(response.getInputStream()));                    
                       String line;
                       boolean textFound = false;
                       while ((line = in.readLine()) != null) {
                           System.out.println(line);
                     } catch(java.net.ConnectException ce){
                       if(ce.getMessage().indexOf("timed out")>0){
                           System.err.println("Unable to test - timed out: 
"+ce);
                       } else{
                           throw(ce);
                       }
                   }
                   
               }
}

And thank you very much. 
                                          
------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger. 
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Data protection magic?
Nope - It's vRanger. Get your free trial download today. 
http://p.sf.net/sfu/quest-sfdev2dev
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to