如果我想调用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文件,则必须使用dom4j之类的xml工具来构造此文件。这是非常复杂且耗时的。 我可以使用“ wps:datainputs”之类的java对象生成此xml文件吗?
例如这样的
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>