Simple PHP web service client

We will use request as static XML string. In real environment the request will be generated dynamically.

We wil do a simple curl call to access web service in REST mode.

<?php header('Content-type: text/xml'); $xml = '<ws:dataDeliveryRequest dateFrom="2014-01-01" dateTo="2014-01-30" xmlns="http://geomodel.eu/schema/data/request" xmlns:ws="http://geomodel.eu/schema/ws/data" xmlns:geo="http://geomodel.eu/schema/common/geo" xmlns:pv="http://geomodel.eu/schema/common/pv" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <site id="site1dummy" name="First site" lat="48.61259" lng="20.827079"> <geo:terrain elevation="111" azimuth="112" tilt="11"/> <geo:horizon>0:5 7.5:3 15:7 22.5:0</geo:horizon> <pv:geometry xsi:type="pv:GeometryFixedOneAngle" azimuth="165" tilt="22"/> <pv:system installationType="FREE_STANDING" dateStartup="2011-06-01" availability="99"> <pv:module type="CSI" count="10" nominalPower="560"> <pv:degradation>3</pv:degradation> <pv:degradationFirstYear>8</pv:degradationFirstYear> <pv:surfaceReflectance>0.13</pv:surfaceReflectance> <pv:powerTolerance low="10" high="90"/> <pv:nominalOperatingCellTemp>15</pv:nominalOperatingCellTemp> <pv:openCircuitVoltageCoeff>7</pv:openCircuitVoltageCoeff> <pv:shortCircuitCurrentCoeff>4</pv:shortCircuitCurrentCoeff> <pv:PmaxCoeff>10</pv:PmaxCoeff> </pv:module> <pv:inverter count="2" interconnection="PARALLEL"> <pv:efficiency xsi:type="pv:EfficiencyConstant" percent="94"/> <pv:startPower>10</pv:startPower> <pv:limitationACPower>5</pv:limitationACPower> <pv:nominalDCPower>8</pv:nominalDCPower> </pv:inverter> <pv:losses> <pv:acLosses cables="1" transformer="2.1"/> <pv:dcLosses cables="1.2" mismatch="0.65" snowPollution="7" monthlySnowPollution="4 2 3 4 5 7 8 4 7 4 5 1"/> </pv:losses> <pv:topology xsi:type="pv:TopologySimple" type="PROPORTIONAL" relativeSpacing="1.5"/> </pv:system> </site> <processing key="GHI DIF DNI PVOUT" summarization="HOURLY" terrainShading="true"/> </ws:dataDeliveryRequest>'; $url = 'https://solargis.info/ws/rest/datadelivery/request?key=demo'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml')); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $response = curl_exec($ch); curl_close($ch); echo $response; ?>