Как создать запрос Geomesa WPS в Java-код? - PullRequest
0 голосов
/ 16 ноября 2018

Если я хочу вызвать службу Geomesa wps, я могу написать такой код:

HttpURLConnection conn = connfactory.openConnection();
conn.setRequestProperty("Content-Type", "text/xml");
conn.setRequestMethod("POST");
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
out.write(document.asXML());
out.close();

//connect to the http service
........

Это Java-программа.Переменная 'document' - это элемент XML, который читается из файла XML.Если я хочу сгенерировать этот XML-файл, я должен сконструировать этот файл, используя инструмент XML, такой как dom4j.это очень сложно и отнимает много времени.Могу ли я сгенерировать этот XML-файл, используя объект Java, такой как «wps: datainputs»?

, например, вот так

wps.datainputs wps1  = new wps:datainputs();
wps.input.Identifilter = new filter();
Xml xml = wps1.toXml();

Как я могу это реализовать?
большое спасибо заранее.

XML-файл, как показано ниже:

<?xml version="1.0" encoding="UTF-8"?>
   <wps:Execute version="1.0.0" service="WPS"
     xmlns:wfs="http://www.opengis.net/wfs"
     xmlns:gml="http://www.opengis.net/gml"
     xmlns:xlink="http://www.w3.org/1999/xlink">
   <ows:Identifier>geomesa:Query</ows:Identifier>
   <wps:DataInputs>
    <wps:Input>
      <ows:Identifier>filter</ows:Identifier>
      <wps:Data>
        <wps:ComplexData mineType="text/plain; subtype=cql"></wps:ComplexData>
      </wps:Data>
    </wps:Input>
   </wps:DataInputs>
   <wps:ResponseForm>
      <wps:RawDataOutput mineType="application/json">
         <ows:Identifier>result</ows:Identifier>
      </wps:RawDataOutput>
   </wps:ResponseForm>
...