NavigationUser login |
Accessing Soil Survey Data via Web-ServicesSubmitted by dylan on Thu, 2009-05-28 17:46.
POST /Tabular/SDMTabularService.asmx HTTP/1.0 Host: SDMDataAccess.nrcs.usda.gov User-Agent: NuSOAP/0.7.3 (1.114) Content-Type: text/xml; charset=ISO-8859-1 SOAPAction: "http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx/RunQuery" Content-Length: 596 <?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body> <RunQuery xmlns="http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx"> <Query>SELECT * from component where mukey = '458913' ORDER BY comppct_r DESC;</Query> </RunQuery> </SOAP-ENV:Body></SOAP-ENV:Envelope> // load NuSOAP library require_once('nusoap.php'); // query template: $query = 'SELECT ... etc.'; //create client object $query_url = 'http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx'; // SOAP server needs this $soapaction = 'http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx/RunQuery'; // open a new client $client = new soapclient($query_url); // make the XML request by hand $msg = $client->serializeEnvelope(' <RunQuery xmlns="http://SDMDataAccess.nrcs.usda.gov/Tabular/SDMTabularService.asmx"> <Query>' . $query . '</Query> </RunQuery> ') ; // send the request $result = $client->send($msg, $soapaction); // extract the result print_r($result['RunQueryResult']['diffgram']['NewDataSet']['Table']);
|