@Ignore
  @Test
  public void testV110() throws Exception {
    WFSDescribeFeatureTypeRequest<Schema> request =
        super.serverConnector.createDescribeFeatureTypeRequest();

    QName name = new QName("sf:firesat");
    request.setTypeName(Arrays.asList(name));
    Schema s = request.getResponse();

    logger.info("TARGET NAMESPACE @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ {}\n\n", s.getTargetNamespace());

    for (OpenAttrs o : s.getSimpleTypeOrComplexTypeOrGroup()) {
      if (o instanceof TopLevelElement) {
        logger.info("TopLevelElement @@@@@@@@@@@@@@@@ {}\n\n", o);
      }

      if (o instanceof TopLevelComplexType) {
        List<Object> particles =
            ((TopLevelComplexType) o)
                .getComplexContent()
                .getExtension()
                .getSequence()
                .getParticle();
        for (Object p : particles) {

          LocalElement l = ((JAXBElement<LocalElement>) p).getValue();
          logger.info("TopLevelComplexType @@@@@@@@@@@@@@@@ {}", l.getType().getLocalPart());
        }
      }
    }

    String wfsDescribeFeatureFile = "target/wfsDescribeFeaturev110.xml";
    FileOutputStream fos = null;
    try {
      fos = new FileOutputStream(wfsDescribeFeatureFile);
      request.getMarshaller().marshal(s, fos);
    } finally {
      if (fos != null) {
        fos.close();
      }
    }
  }
  // @Ignore(value = "FIX PROBLEM TO RETRIEVE ATTRIBUTES WITHOUT GEOMETRY")
  @Test
  public void statesTest() throws Exception {
    String wfsURL = "http://150.145.141.92/geoserver/wfs";
    GPWFSConnectorStore serverConnector =
        WFSConnectorBuilder.newConnector().withServerUrl(new URL(wfsURL)).build();
    WFSDescribeFeatureTypeRequest<Schema> request =
        serverConnector.createDescribeFeatureTypeRequest();
    request.setTypeName(Arrays.asList(states));
    Schema response = request.getResponse();

    LayerSchemaDTO layerSchema = featureReaderXSD.getFeature(response, statesName);
    if (layerSchema == null) {
      throw new IllegalStateException("The Layer Schema is null.");
    }
    layerSchema.setScope(wfsURL);

    logger.debug("\n\t##################################LAYER_SCHEMA : {}", layerSchema);

    WFSGetFeatureRequest getFeatureRequest = serverConnector.createGetFeatureRequest();
    getFeatureRequest.setTypeName(new QName(layerSchema.getTypeName()));
    getFeatureRequest.setPropertyNames(Arrays.asList(new String[] {"STATE_NAME", "PERSONS"}));
    getFeatureRequest.setBBox(new BBox(-75.102613, 40.212597, -72.361859, 41.512517));
    getFeatureRequest.setSRS("EPSG:4326");
    getFeatureRequest.setResultType(ResultTypeType.RESULTS.value());

    getFeatureRequest.setMaxFeatures(BigInteger.valueOf(50));

    logger.debug(
        "\n\t@@@@@@@@@@@@@@@@@@RESPONSE_AS_STRING : {}", getFeatureRequest.getResponseAsString());

    InputStream is = getFeatureRequest.getResponseAsStream();

    final WFSGetFeatureStaxReader featureReaderStAX = new WFSGetFeatureStaxReader(layerSchema);

    FeatureCollectionDTO featureCollection = featureReaderStAX.read(is);

    if (!featureCollection.isFeaturesLoaded()) {
      featureCollection.setErrorMessage(getFeatureRequest.getResponseAsString());
    }

    logger.debug("\n\t@@@@@@@@@@@@@@@@@@@@@@@@@@@FEATURE_COLLECTION_DTO : {}", featureCollection);
  }
  @Test
  public void getAllFeaturesTest() throws Exception {
    String wfsURL = "http://geoserver.wfppal.org/geoserver/wfs";
    GPWFSConnectorStore serverConnector =
        WFSConnectorBuilder.newConnector().withServerUrl(new URL(wfsURL)).build();
    WFSDescribeFeatureTypeRequest<Schema> request =
        serverConnector.createDescribeFeatureTypeRequest();
    request.setTypeName(Arrays.asList(information));
    Schema response = request.getResponse();

    LayerSchemaDTO layerSchema = featureReaderXSD.getFeature(response, informationName);
    if (layerSchema == null) {
      throw new IllegalStateException("The Layer Schema is null.");
    }
    layerSchema.setScope(wfsURL);

    logger.debug("\n\t##################################LAYER_SCHEMA : {}", layerSchema);

    WFSGetFeatureRequest getFeatureRequest = serverConnector.createGetFeatureRequest();
    getFeatureRequest.setTypeName(new QName(layerSchema.getTypeName()));
    getFeatureRequest.setSRS("EPSG:4326");
    getFeatureRequest.setResultType(ResultTypeType.RESULTS.value());

    getFeatureRequest.setMaxFeatures(BigInteger.valueOf(50));

    logger.debug(
        "\n\t@@@@@@@@@@@@@@@@@@RESPONSE_AS_STRING : {}", getFeatureRequest.getResponseAsString());

    InputStream is = getFeatureRequest.getResponseAsStream();

    final WFSGetFeatureStaxReader featureReaderStAX = new WFSGetFeatureStaxReader(layerSchema);

    FeatureCollectionDTO featureCollection = featureReaderStAX.read(is);

    if (!featureCollection.isFeaturesLoaded()) {
      featureCollection.setErrorMessage(getFeatureRequest.getResponseAsString());
    }

    logger.debug("\n\t@@@@@@@@@@@@@@@@@@@@@@@@@@@FEATURE_COLLECTION_DTO : {}", featureCollection);
  }