diff --git a/nb-configuration.xml b/nb-configuration.xml index d096f3f970c5647b64665e433ebe791df5c13542..1bd992ca9ddc25bbebf62272ea26f5c5ceb51d77 100755 --- a/nb-configuration.xml +++ b/nb-configuration.xml @@ -25,5 +25,6 @@ Any value defined here will override the pom.xml file value but is only applicab <org-netbeans-modules-css-prep.less_2e_compiler_2e_options/> <org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server>WildFly</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_deploy_2e_server> <org-netbeans-modules-projectapi.jsf_2e_language>Facelets</org-netbeans-modules-projectapi.jsf_2e_language> + <org-netbeans-modules-maven-jaxws._5f_C_5f_DMIWeatherService_2e_svc>https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?wsdl</org-netbeans-modules-maven-jaxws._5f_C_5f_DMIWeatherService_2e_svc> </properties> </project-shared-configuration> diff --git a/nbactions.xml b/nbactions.xml index 476b75ff17f9480e61a49a94d2783475a68486c6..458eb9a791f33d790612434ca4b4f5c254c57fca 100755 --- a/nbactions.xml +++ b/nbactions.xml @@ -23,6 +23,28 @@ </goals> <properties> <skipTests>true</skipTests> + </properties> + </action> + <action> + <actionName>test.single</actionName> + <packagings> + <packaging>*</packaging> + </packagings> + <goals> + <goal>test-compile</goal> + <goal>surefire:test</goal> + </goals> + <properties> + <test>${packageClassName}</test> + <com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump>true</com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump> + <com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump>true</com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump> + <com.sun.xml.ws.transport.http.HttpAdapter.dump>true</com.sun.xml.ws.transport.http.HttpAdapter.dump> + <com.sun.xml.internal.ws.transport.http.HttpAdapter.dump>true</com.sun.xml.internal.ws.transport.http.HttpAdapter.dump> + + + + + </properties> </action> </actions> diff --git a/pom.xml b/pom.xml index 3d51165fd289fc72ca1f0c7f7e924087ceaa1903..3f6c29a624e940924c5011b24c905856a1387151 100755 --- a/pom.xml +++ b/pom.xml @@ -224,6 +224,70 @@ <target>1.8</target> </configuration> </plugin> + <plugin> + <groupId>org.jvnet.jax-ws-commons</groupId> + <artifactId>jaxws-maven-plugin</artifactId> + <version>2.3</version> + <executions> + <execution> + <goals> + <goal>wsimport</goal> + </goals> + <configuration> + <wsdlFiles> + <wsdlFile>dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.wsdl</wsdlFile> + </wsdlFiles> + <packageName>no.nibio.vips.util.weather.dnmipointweb</packageName> + <vmArgs> + <vmArg>-Djavax.xml.accessExternalSchema=all</vmArg> + </vmArgs> + <wsdlLocation>https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?wsdl</wsdlLocation> + <staleFile>${project.build.directory}/jaxws/stale/DMIWeatherService.svc.stale</staleFile> + </configuration> + <id>wsimport-generate-DMIWeatherService.svc</id> + <phase>generate-sources</phase> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>javax.xml</groupId> + <artifactId>webservices-api</artifactId> + <version>2.0</version> + </dependency> + </dependencies> + <configuration> + <sourceDestDir>${project.build.directory}/generated-sources/jaxws-wsimport</sourceDestDir> + <xnocompile>true</xnocompile> + <verbose>true</verbose> + <extension>true</extension> + <catalog>${basedir}/src/jax-ws-catalog.xml</catalog> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + <version>2.0.2</version> + <configuration> + <webResources> + <resource> + <directory>src</directory> + <targetPath>WEB-INF</targetPath> + <includes> + <include>jax-ws-catalog.xml</include> + <include>wsdl/**</include> + </includes> + </resource> + <resource> + <directory>src</directory> + <targetPath>WEB-INF/classes/META-INF</targetPath> + <includes> + <include>jax-ws-catalog.xml</include> + <include>wsdl/**</include> + </includes> + </resource> + </webResources> + </configuration> + </plugin> </plugins> </build> diff --git a/src/jax-ws-catalog.xml b/src/jax-ws-catalog.xml new file mode 100644 index 0000000000000000000000000000000000000000..3b96ec165ccb1c9c94472dfcc6e604c21774a011 --- /dev/null +++ b/src/jax-ws-catalog.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system"> + <system systemId="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?wsdl" uri="wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.wsdl"/> + <system systemId="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd0" uri="wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd0.xsd"/> + <system systemId="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd1" uri="wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd1.xsd"/> + <system systemId="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd2" uri="wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd2.xsd"/> + <system systemId="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd3" uri="wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd3.xsd"/> + <system systemId="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd4" uri="wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd4.xsd"/> +</catalog> \ No newline at end of file diff --git a/src/main/java/no/nibio/vips/logic/service/WeatherProxyService.java b/src/main/java/no/nibio/vips/logic/service/WeatherProxyService.java index eed81e2c4a6c0ed5c6d101d216664f7816ba7b84..c12550be3040bac343e52f819c0a0b47c13fd65a 100755 --- a/src/main/java/no/nibio/vips/logic/service/WeatherProxyService.java +++ b/src/main/java/no/nibio/vips/logic/service/WeatherProxyService.java @@ -23,6 +23,7 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.TimeZone; @@ -35,11 +36,14 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Response; import no.nibio.vips.entity.WeatherObservation; +import no.nibio.vips.logic.util.SystemTime; import no.nibio.vips.util.weather.ALabDataParser; import no.nibio.vips.util.weather.FruitWebDavisDataParser; +import no.nibio.vips.util.weather.MetosAPIDataParser; import no.nibio.vips.util.weather.MetosRIMProDataParser; import no.nibio.vips.util.weather.ParseWeatherDataException; import no.nibio.vips.util.weather.USPestDataParser; +import no.nibio.vips.util.weather.dnmipointweb.DMIPointWebDataParser; import org.jboss.resteasy.annotations.GZIP; /** @@ -50,10 +54,10 @@ import org.jboss.resteasy.annotations.GZIP; public class WeatherProxyService { @GET @POST - @Path("metos/{stationId}") + @Path("metosrimpro/{stationId}") @GZIP @Produces("application/json;charset=UTF-8") - public Response getMetosWeatherData( + public Response getMetosRIMProWeatherData( @PathParam("stationId") String stationId, @FormParam("timeZone") String timeZonePOST, @QueryParam("timeZone") String timeZoneGET, @@ -77,6 +81,35 @@ public class WeatherProxyService { return Response.ok().entity(observations).build(); } + @GET + @POST + @Path("metosapi/{stationId}") + @GZIP + @Produces("application/json;charset=UTF-8") + public Response getMetosAPIWeatherData( + @PathParam("stationId") String stationId, + @FormParam("timeZone") String timeZonePOST, + @QueryParam("timeZone") String timeZoneGET, + @FormParam("startDate") String startDatePOST, + @QueryParam("startDate") String startDateGET + ) + { + List<WeatherObservation> observations; + try + { + String timeZoneParam = timeZonePOST != null ? timeZonePOST : timeZoneGET != null ? timeZoneGET : "UTC"; + TimeZone timeZone = TimeZone.getTimeZone(timeZoneParam); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + format.setTimeZone(timeZone); + String startDateParam = startDatePOST != null ? startDatePOST : startDateGET; + Date startDate1 = format.parse(startDateParam); + observations = new MetosAPIDataParser().getWeatherObservations(stationId, timeZone, startDate1); + } catch (ParseException | ParseWeatherDataException | NullPointerException ex) { + return Response.serverError().entity(ex).build(); + } + return Response.ok().entity(observations).build(); + } + @GET @POST @Path("fruitwebdavis/{stationId}") @@ -171,4 +204,64 @@ public class WeatherProxyService { return Response.ok().entity(observations).build(); } + /** + * Getting data from the Danish Meteorological Institute's PointWeb weather service + * @param stationId + * @param timeZonePOST + * @param timeZoneGET + * @param startDatePOST + * @param startDateGET + * @param endDatePOST + * @param endDateGET + * @return + */ + @GET + @POST + @Path("dmipointweb/{stationId}") + @GZIP + @Produces("application/json;charset=UTF-8") + public Response getDMIPointWebWeatherData( + @PathParam("stationId") String stationId, + @FormParam("timeZone") String timeZonePOST, + @QueryParam("timeZone") String timeZoneGET, + @FormParam("startDate") String startDatePOST, + @QueryParam("startDate") String startDateGET, + @FormParam("endDate") String endDatePOST, + @QueryParam("endDate") String endDateGET + ) + { + // Station is id'ed by decimal degrees position + // Format is &stationId=long,lat. E.g. &stationId=9.583,56.488 (sample is from Follum, Denmark) + List<WeatherObservation> observations; + try + { + String timeZoneParam = timeZonePOST != null ? timeZonePOST : timeZoneGET != null ? timeZoneGET : "UTC"; + TimeZone timeZone = TimeZone.getTimeZone(timeZoneParam); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + format.setTimeZone(timeZone); + String startDateParam = startDatePOST != null ? startDatePOST : startDateGET; + Date startDate1 = format.parse(startDateParam); + String endDateParam = endDatePOST != null ? endDatePOST : endDateGET; + Date endDate1; + if(endDateParam != null) + { + endDate1 = format.parse(endDateParam); + } + else + { + // Expecting endDate to be 6 days after today if not specified + Calendar cal = Calendar.getInstance(); + cal.setTime(SystemTime.getSystemTime()); + cal.add(Calendar.DATE, 6); + endDate1 = cal.getTime(); + } + String[] coordinates = stationId.split(","); + Double longitude = Double.parseDouble(coordinates[0]); + Double latitude = Double.parseDouble(coordinates[1]); + observations = new DMIPointWebDataParser().getData(longitude, latitude, startDate1, endDate1); + } catch (ParseException | NullPointerException ex) { + return Response.serverError().entity(ex).build(); + } + return Response.ok().entity(observations).build(); + } } diff --git a/src/main/java/no/nibio/vips/util/weather/dnmipointweb/DMIPointWebDataParser.java b/src/main/java/no/nibio/vips/util/weather/dnmipointweb/DMIPointWebDataParser.java new file mode 100644 index 0000000000000000000000000000000000000000..eea1b7c68bf1a0547bb1eba1951449240c8ca926 --- /dev/null +++ b/src/main/java/no/nibio/vips/util/weather/dnmipointweb/DMIPointWebDataParser.java @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2017 NIBIO <http://www.nibio.no/>. + * + * This file is part of VIPSLogic. + * VIPSLogic is free software: you can redistribute it and/or modify + * it under the terms of the NIBIO Open Source License as published by + * NIBIO, either version 1 of the License, or (at your option) any + * later version. + * + * VIPSLogic is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * NIBIO Open Source License for more details. + * + * You should have received a copy of the NIBIO Open Source License + * along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. + * + */ + +package no.nibio.vips.util.weather.dnmipointweb; + +import java.util.ArrayList; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.TimeZone; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.xml.datatype.DatatypeFactory; +import javax.xml.datatype.XMLGregorianCalendar; +import no.nibio.vips.entity.WeatherObservation; +import no.nibio.vips.util.WeatherElements; + +/** + * Gets data from the Danish Meteorological Institute's Point Web service + * @copyright 2017 <a href="http://www.nibio.no/">NIBIO</a> + * @author Tor-Einar Skog <tor-einar.skog@nibio.no> + */ +public class DMIPointWebDataParser { + + private static final Map<String, WeatherDataParameter> PARAM_MAP; + static + { + PARAM_MAP = new HashMap<>(); + PARAM_MAP.put(WeatherElements.TEMPERATURE_MEAN, WeatherDataParameter.AIRTEMP); + PARAM_MAP.put(WeatherElements.PRECIPITATION, WeatherDataParameter.PREC); + PARAM_MAP.put(WeatherElements.RELATIVE_HUMIDITY_MEAN, WeatherDataParameter.AIRRH); + PARAM_MAP.put(WeatherElements.WIND_SPEED_2M, WeatherDataParameter.WINDSPEED); + PARAM_MAP.put(WeatherElements.SOIL_TEMPERATURE_10CM_MEAN, WeatherDataParameter.SOILTEMP); + PARAM_MAP.put(WeatherElements.LEAF_WETNESS, WeatherDataParameter.LEAFWET); + } + + + public List<WeatherObservation> getData(Double longitude, Double latitude, Date dateFrom, Date dateTo) + { + List<WeatherObservation> retVal = new ArrayList<>(); + try { + IWeatherService proxy = new WeatherService().getSslOffloadedBasicHttpBindingIWeatherService(); + ArrayOfWeatherDataSource wdsource = new ArrayOfWeatherDataSource(); + wdsource.add(WeatherDataSource.OBS); + wdsource.add(WeatherDataSource.FORECAST); + wdsource.add(WeatherDataSource.NORMAL); + + GregorianCalendar gc = new GregorianCalendar(TimeZone.getTimeZone("Europe/Copenhagen")); + gc.setTime(dateFrom); + XMLGregorianCalendar calFrom = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); + XMLGregorianCalendar calTo = null; + if(dateTo != null) + { + gc.setTime(dateTo); + calTo = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); + } + + + ArrayOfWeatherDataParameter wdparam = new ArrayOfWeatherDataParameter(); + DMIPointWebDataParser.PARAM_MAP.values().stream().forEach( + listedParam -> wdparam.add(listedParam) + ); + + WeatherResponse result = proxy.getWeatherData( + String.valueOf(latitude).replace(".", ","), // Latitude ("X") Decimal separator is comma! + String.valueOf(longitude).replace(".", ","), // Longitude ("Y") Decimal separator is comma! + false, // true if UTM, false if decimal degrees + null, // UTM Zone if using UTM + WeatherInterval.HOUR, // Hourly or Daily data + wdsource, // Set of data sources + calFrom, // Start of period with data + calTo, // End of period with data + wdparam, // Set of requested parameters + 0.0, // Base temperature value + false // Use base temperature? (t/f) + ); + + + + ArrayOfWeatherDataModel value = result.getWeahterDataList().getValue(); + value.getWeatherDataModel().stream().forEach(weatherDataModel -> { + DMIPointWebDataParser.PARAM_MAP.keySet().stream().forEach( + VIPSParam->{ + WeatherObservation obs = this.getWeatherObservation(VIPSParam, weatherDataModel); + if(obs != null) + retVal.add(obs); + } + ); + } + ); + + } catch (Exception ex) { + Logger.getLogger(DMIPointWebDataParser.class.getName()).log(Level.SEVERE, null, ex); + } + System.out.println("Number of extracted weather data = " + retVal.size()); + return retVal; + } + + private WeatherObservation getWeatherObservation(String VIPSParam, WeatherDataModel wDataModel) { + WeatherObservation obs = new WeatherObservation(); + obs.setTimeMeasured(wDataModel.getDateDay().toGregorianCalendar().getTime()); + obs.setLogIntervalId(WeatherObservation.LOG_INTERVAL_ID_1H); + obs.setElementMeasurementTypeId(VIPSParam); + + try + { + switch(VIPSParam) + { + case WeatherElements.TEMPERATURE_MEAN: + obs.setValue(wDataModel.getAirtemp().getValue()); break; + case WeatherElements.PRECIPITATION: + obs.setValue(wDataModel.getPrec().getValue()); break; + case WeatherElements.RELATIVE_HUMIDITY_MEAN: + obs.setValue(wDataModel.getAirrh().getValue()); break; + case WeatherElements.WIND_SPEED_2M: + obs.setValue(wDataModel.getWindspeed().getValue()); break; + case WeatherElements.SOIL_TEMPERATURE_10CM_MEAN: + obs.setValue(wDataModel.getSoiltemp().getValue()); break;// Not sure if it's 10 or 5 cm depth yet + case WeatherElements.SOIL_TEMPERATURE_5CM_MEAN: + obs.setValue(wDataModel.getSoiltemp().getValue()); break; + case WeatherElements.LEAF_WETNESS: + obs.setValue(wDataModel.getLeafwet().getValue()); break; + default: return null; + } + } + catch(NullPointerException ex) // The requested parameter didn't exist + { + return null; + } + + return obs; + } +} diff --git a/src/test/java/no/nibio/vips/util/weather/dnmipointweb/DMIPointWebDataParserTest.java b/src/test/java/no/nibio/vips/util/weather/dnmipointweb/DMIPointWebDataParserTest.java new file mode 100644 index 0000000000000000000000000000000000000000..24330246af9c701b1a597d3d87d15451a9d76412 --- /dev/null +++ b/src/test/java/no/nibio/vips/util/weather/dnmipointweb/DMIPointWebDataParserTest.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2017 NIBIO <http://www.nibio.no/>. + * + * This file is part of VIPSLogic. + * VIPSLogic is free software: you can redistribute it and/or modify + * it under the terms of the NIBIO Open Source License as published by + * NIBIO, either version 1 of the License, or (at your option) any + * later version. + * + * VIPSLogic is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * NIBIO Open Source License for more details. + * + * You should have received a copy of the NIBIO Open Source License + * along with VIPSLogic. If not, see <http://www.nibio.no/licenses/>. + * + */ +package no.nibio.vips.util.weather.dnmipointweb; + +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.TimeZone; +import no.nibio.vips.entity.WeatherObservation; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author treinar + */ +public class DMIPointWebDataParserTest { + + public DMIPointWebDataParserTest() { + } + + @BeforeClass + public static void setUpClass() { + } + + @AfterClass + public static void tearDownClass() { + } + + @Before + public void setUp() { + } + + @After + public void tearDown() { + } + + /** + * Test of getData method, of class DMIPointWebDataParser. + */ + @Test + public void testGetData() { + System.out.println("getData"); + DMIPointWebDataParser instance = new DMIPointWebDataParser(); + Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Europe/Copenhagen")); + cal.set(2017, Calendar.JULY, 5, 0, 0, 0); + Date dateFrom = cal.getTime(); + cal.set(Calendar.DATE, 15); + Date dateTo = cal.getTime(); + Double longitude = 10.0213; + Double latitude = 56.0199; + List<WeatherObservation> result = instance.getData(longitude, latitude, dateFrom, dateTo); + result.stream().forEach(r->System.out.println(r.toString())); + // TODO review the generated test code and remove the default call to fail. + fail("The test case is a prototype."); + } + +} diff --git a/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.wsdl b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.wsdl new file mode 100644 index 0000000000000000000000000000000000000000..66a5371c442d4d3e3922c11d339ad30cf8591d23 --- /dev/null +++ b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.wsdl @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><wsdl:definitions name="WeatherService" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"><wsdl:types><xsd:schema targetNamespace="http://tempuri.org/Imports"><xsd:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd0" namespace="http://tempuri.org/"/><xsd:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/><xsd:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xsd:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System"/><xsd:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/></xsd:schema></wsdl:types><wsdl:message name="IWeatherService_GetWeatherData_InputMessage"><wsdl:part name="parameters" element="tns:GetWeatherData"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherData_OutputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataResponse"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherDataExtended_InputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataExtended"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherDataExtended_OutputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataExtendedResponse"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherDataMultipoint_InputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataMultipoint"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherDataMultipoint_OutputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataMultipointResponse"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherDataMultipointExtended_InputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataMultipointExtended"/></wsdl:message><wsdl:message name="IWeatherService_GetWeatherDataMultipointExtended_OutputMessage"><wsdl:part name="parameters" element="tns:GetWeatherDataMultipointExtendedResponse"/></wsdl:message><wsdl:portType name="IWeatherService"><wsdl:operation name="GetWeatherData"><wsdl:input wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherData" message="tns:IWeatherService_GetWeatherData_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataResponse" message="tns:IWeatherService_GetWeatherData_OutputMessage"/></wsdl:operation><wsdl:operation name="GetWeatherDataExtended"><wsdl:input wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataExtended" message="tns:IWeatherService_GetWeatherDataExtended_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataExtendedResponse" message="tns:IWeatherService_GetWeatherDataExtended_OutputMessage"/></wsdl:operation><wsdl:operation name="GetWeatherDataMultipoint"><wsdl:input wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataMultipoint" message="tns:IWeatherService_GetWeatherDataMultipoint_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataMultipointResponse" message="tns:IWeatherService_GetWeatherDataMultipoint_OutputMessage"/></wsdl:operation><wsdl:operation name="GetWeatherDataMultipointExtended"><wsdl:input wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataMultipointExtended" message="tns:IWeatherService_GetWeatherDataMultipointExtended_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IWeatherService/GetWeatherDataMultipointExtendedResponse" message="tns:IWeatherService_GetWeatherDataMultipointExtended_OutputMessage"/></wsdl:operation></wsdl:portType><wsdl:binding name="SslOffloadedBasicHttpBinding_IWeatherService" type="tns:IWeatherService"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="GetWeatherData"><soap:operation soapAction="http://tempuri.org/IWeatherService/GetWeatherData" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetWeatherDataExtended"><soap:operation soapAction="http://tempuri.org/IWeatherService/GetWeatherDataExtended" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetWeatherDataMultipoint"><soap:operation soapAction="http://tempuri.org/IWeatherService/GetWeatherDataMultipoint" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetWeatherDataMultipointExtended"><soap:operation soapAction="http://tempuri.org/IWeatherService/GetWeatherDataMultipointExtended" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="WeatherService"><wsdl:port name="SslOffloadedBasicHttpBinding_IWeatherService" binding="tns:SslOffloadedBasicHttpBinding_IWeatherService"><soap:address location="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc"/></wsdl:port></wsdl:service></wsdl:definitions> \ No newline at end of file diff --git a/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd0.xsd b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd0.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6bfe68f052f270eac5a408c35351ccc0f235b473 --- /dev/null +++ b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd0.xsd @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://tempuri.org/"><xs:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element name="GetWeatherData"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="X_Coordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="Y_Coordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="isUTM" type="xs:boolean"/><xs:element minOccurs="0" name="UTMZone" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="interval" type="q1:WeatherInterval" xmlns:q1="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="sources" nillable="true" type="q2:ArrayOfWeatherDataSource" xmlns:q2="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="DateFrom" type="xs:dateTime"/><xs:element minOccurs="0" name="DateTo" type="xs:dateTime"/><xs:element minOccurs="0" name="weatherDataParameters" nillable="true" type="q3:ArrayOfWeatherDataParameter" xmlns:q3="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="baseTempValue" type="xs:double"/><xs:element minOccurs="0" name="includeTempSum" type="xs:boolean"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataResponse"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="GetWeatherDataResult" nillable="true" type="q4:WeatherResponse" xmlns:q4="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataExtended"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="X_Coordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="Y_Coordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="isUTM" type="xs:boolean"/><xs:element minOccurs="0" name="UTMZone" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="interval" type="q5:WeatherInterval" xmlns:q5="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="sources" nillable="true" type="q6:ArrayOfWeatherDataSource" xmlns:q6="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="DateFrom" type="xs:dateTime"/><xs:element minOccurs="0" name="DateTo" type="xs:dateTime"/><xs:element minOccurs="0" name="weatherDataParameters" nillable="true" type="q7:ArrayOfWeatherDataParameter" xmlns:q7="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="baseTempValue" type="xs:double"/><xs:element minOccurs="0" name="includeTempSum" type="xs:boolean"/><xs:element minOccurs="0" name="getExtendedEndDate" type="xs:boolean"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataExtendedResponse"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="GetWeatherDataExtendedResult" nillable="true" type="q8:WeatherResponse" xmlns:q8="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataMultipoint"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="xCoordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="yCoordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="isUTM" type="xs:boolean"/><xs:element minOccurs="0" name="utmZone" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="interval" type="q9:WeatherInterval" xmlns:q9="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="sources" nillable="true" type="q10:ArrayOfWeatherDataSource" xmlns:q10="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="dateFrom" type="xs:dateTime"/><xs:element minOccurs="0" name="dateTo" type="xs:dateTime"/><xs:element minOccurs="0" name="weatherDataParameters" nillable="true" type="q11:ArrayOfWeatherDataParameter" xmlns:q11="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="baseTempValue" type="xs:double"/><xs:element minOccurs="0" name="includeTempSum" type="xs:boolean"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataMultipointResponse"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="GetWeatherDataMultipointResult" nillable="true" type="q12:ArrayOfExtendedWeatherResponse" xmlns:q12="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataMultipointExtended"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="xCoordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="yCoordinate" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="isUTM" type="xs:boolean"/><xs:element minOccurs="0" name="utmZone" nillable="true" type="xs:string"/><xs:element minOccurs="0" name="interval" type="q13:WeatherInterval" xmlns:q13="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="sources" nillable="true" type="q14:ArrayOfWeatherDataSource" xmlns:q14="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="dateFrom" type="xs:dateTime"/><xs:element minOccurs="0" name="dateTo" type="xs:dateTime"/><xs:element minOccurs="0" name="weatherDataParameters" nillable="true" type="q15:ArrayOfWeatherDataParameter" xmlns:q15="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:element minOccurs="0" name="baseTempValue" type="xs:double"/><xs:element minOccurs="0" name="includeTempSum" type="xs:boolean"/><xs:element minOccurs="0" name="getExtendedEndDate" type="xs:boolean"/></xs:sequence></xs:complexType></xs:element><xs:element name="GetWeatherDataMultipointExtendedResponse"><xs:complexType><xs:sequence><xs:element minOccurs="0" name="GetWeatherDataMultipointExtendedResult" nillable="true" type="q16:ArrayOfExtendedWeatherResponse" xmlns:q16="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/></xs:sequence></xs:complexType></xs:element></xs:schema> \ No newline at end of file diff --git a/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd1.xsd b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd1.xsd new file mode 100644 index 0000000000000000000000000000000000000000..5c1344cdfcfc6d548d443589888943f085e32829 --- /dev/null +++ b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd1.xsd @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/"><xs:element name="anyType" nillable="true" type="xs:anyType"/><xs:element name="anyURI" nillable="true" type="xs:anyURI"/><xs:element name="base64Binary" nillable="true" type="xs:base64Binary"/><xs:element name="boolean" nillable="true" type="xs:boolean"/><xs:element name="byte" nillable="true" type="xs:byte"/><xs:element name="dateTime" nillable="true" type="xs:dateTime"/><xs:element name="decimal" nillable="true" type="xs:decimal"/><xs:element name="double" nillable="true" type="xs:double"/><xs:element name="float" nillable="true" type="xs:float"/><xs:element name="int" nillable="true" type="xs:int"/><xs:element name="long" nillable="true" type="xs:long"/><xs:element name="QName" nillable="true" type="xs:QName"/><xs:element name="short" nillable="true" type="xs:short"/><xs:element name="string" nillable="true" type="xs:string"/><xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte"/><xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt"/><xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong"/><xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort"/><xs:element name="char" nillable="true" type="tns:char"/><xs:simpleType name="char"><xs:restriction base="xs:int"/></xs:simpleType><xs:element name="duration" nillable="true" type="tns:duration"/><xs:simpleType name="duration"><xs:restriction base="xs:duration"><xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/><xs:minInclusive value="-P10675199DT2H48M5.4775808S"/><xs:maxInclusive value="P10675199DT2H48M5.4775807S"/></xs:restriction></xs:simpleType><xs:element name="guid" nillable="true" type="tns:guid"/><xs:simpleType name="guid"><xs:restriction base="xs:string"><xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/></xs:restriction></xs:simpleType><xs:attribute name="FactoryType" type="xs:QName"/><xs:attribute name="Id" type="xs:ID"/><xs:attribute name="Ref" type="xs:IDREF"/></xs:schema> \ No newline at end of file diff --git a/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd2.xsd b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd2.xsd new file mode 100644 index 0000000000000000000000000000000000000000..392b4b63b97b7134809c4d7393c83d27e230e4db --- /dev/null +++ b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd2.xsd @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"><xs:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/System"/><xs:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd4" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/><xs:simpleType name="WeatherInterval"><xs:restriction base="xs:string"><xs:enumeration value="day"/><xs:enumeration value="hour"/></xs:restriction></xs:simpleType><xs:element name="WeatherInterval" nillable="true" type="tns:WeatherInterval"/><xs:complexType name="ArrayOfWeatherDataSource"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="WeatherDataSource" type="tns:WeatherDataSource"/></xs:sequence></xs:complexType><xs:element name="ArrayOfWeatherDataSource" nillable="true" type="tns:ArrayOfWeatherDataSource"/><xs:simpleType name="WeatherDataSource"><xs:restriction base="xs:string"><xs:enumeration value="obs"/><xs:enumeration value="forecast"/><xs:enumeration value="normal"/><xs:enumeration value="auto"/><xs:enumeration value="partly_constructed"/><xs:enumeration value="constructed_case1"/><xs:enumeration value="constructed_case2"/><xs:enumeration value="constructed_case3"/><xs:enumeration value="obs_forecast"/></xs:restriction></xs:simpleType><xs:element name="WeatherDataSource" nillable="true" type="tns:WeatherDataSource"/><xs:complexType name="ArrayOfWeatherDataParameter"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="WeatherDataParameter" type="tns:WeatherDataParameter"/></xs:sequence></xs:complexType><xs:element name="ArrayOfWeatherDataParameter" nillable="true" type="tns:ArrayOfWeatherDataParameter"/><xs:simpleType name="WeatherDataParameter"><xs:restriction base="xs:string"><xs:enumeration value="airtemp"/><xs:enumeration value="glorad"/><xs:enumeration value="evapo"/><xs:enumeration value="mintemp"/><xs:enumeration value="maxtemp"/><xs:enumeration value="soiltemp"/><xs:enumeration value="airrh"/><xs:enumeration value="prec"/><xs:enumeration value="sunrad"/><xs:enumeration value="windspeed"/><xs:enumeration value="winddir"/><xs:enumeration value="leafwet"/><xs:enumeration value="precNoCor"/><xs:enumeration value="airtemp_special"/><xs:enumeration value="prec_special"/><xs:enumeration value="difrad_special"/><xs:enumeration value="glorad_special"/><xs:enumeration value="windspeed_special"/><xs:enumeration value="winddir_special"/><xs:enumeration value="leafwet_special"/><xs:enumeration value="airrh_special"/></xs:restriction></xs:simpleType><xs:element name="WeatherDataParameter" nillable="true" type="tns:WeatherDataParameter"/><xs:complexType name="WeatherResponse"><xs:sequence><xs:element minOccurs="0" name="WeahterDataList" nillable="true" type="tns:ArrayOfWeatherDataModel"/><xs:element minOccurs="0" name="WeatherError" nillable="true" type="tns:WeatherErrorModel"/><xs:element minOccurs="0" name="HasError" type="xs:boolean"/></xs:sequence></xs:complexType><xs:element name="WeatherResponse" nillable="true" type="tns:WeatherResponse"/><xs:complexType name="ArrayOfWeatherDataModel"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="WeatherDataModel" nillable="true" type="tns:WeatherDataModel"/></xs:sequence></xs:complexType><xs:element name="ArrayOfWeatherDataModel" nillable="true" type="tns:ArrayOfWeatherDataModel"/><xs:complexType name="WeatherDataModel"><xs:sequence><xs:element minOccurs="0" name="Airtemp" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Glorad" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Evapo" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Mintemp" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Maxtemp" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Soiltemp" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Airrh" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Prec" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Sunrad" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Windspeed" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Winddir" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="Leafwet" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="AirtempSum" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="DateDay" type="xs:dateTime"/><xs:element minOccurs="0" name="DataSource" type="tns:WeatherDataSource"/><xs:element minOccurs="0" name="ExpectedDataSource" type="tns:WeatherDataSource"/><xs:element minOccurs="0" name="WeatherDataVariables" nillable="true" type="q1:ArrayOfNullableOfdouble" xmlns:q1="http://schemas.datacontract.org/2004/07/System"/><xs:element minOccurs="0" name="WeatherDataSources" nillable="true" type="q2:ArrayOfNullableOfWeatherDataSourcev_PY1Rzz9" xmlns:q2="http://schemas.datacontract.org/2004/07/System"/><xs:element minOccurs="0" name="PrecNoCor" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="AirtempSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="PrecSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="DifradSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="GloradSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="WindspeedSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="WinddirSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="LeafwetSpecial" nillable="true" type="xs:double"/><xs:element minOccurs="0" name="AirrhSpecial" nillable="true" type="xs:double"/></xs:sequence></xs:complexType><xs:element name="WeatherDataModel" nillable="true" type="tns:WeatherDataModel"/><xs:complexType name="WeatherErrorModel"><xs:sequence><xs:element minOccurs="0" name="ErrorMessages" nillable="true" type="q3:ArrayOfstring" xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/></xs:sequence></xs:complexType><xs:element name="WeatherErrorModel" nillable="true" type="tns:WeatherErrorModel"/><xs:complexType name="ArrayOfExtendedWeatherResponse"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="ExtendedWeatherResponse" nillable="true" type="tns:ExtendedWeatherResponse"/></xs:sequence></xs:complexType><xs:element name="ArrayOfExtendedWeatherResponse" nillable="true" type="tns:ArrayOfExtendedWeatherResponse"/><xs:complexType name="ExtendedWeatherResponse"><xs:sequence><xs:element minOccurs="0" name="WeatherPoint" nillable="true" type="tns:Point"/><xs:element minOccurs="0" name="WeatherData" nillable="true" type="tns:WeatherResponse"/></xs:sequence></xs:complexType><xs:element name="ExtendedWeatherResponse" nillable="true" type="tns:ExtendedWeatherResponse"/><xs:complexType name="Point"><xs:sequence><xs:element minOccurs="0" name="X" type="xs:float"/><xs:element minOccurs="0" name="Y" type="xs:float"/><xs:element minOccurs="0" name="UtmE" type="xs:int"/><xs:element minOccurs="0" name="UtmN" type="xs:int"/></xs:sequence></xs:complexType><xs:element name="Point" nillable="true" type="tns:Point"/></xs:schema> \ No newline at end of file diff --git a/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd3.xsd b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd3.xsd new file mode 100644 index 0000000000000000000000000000000000000000..774210f6cd9c9cced2f1d8118d9562e1b6587e8d --- /dev/null +++ b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd3.xsd @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.datacontract.org/2004/07/System"><xs:import schemaLocation="https://dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/><xs:complexType name="ArrayOfNullableOfdouble"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="double" nillable="true" type="xs:double"/></xs:sequence></xs:complexType><xs:element name="ArrayOfNullableOfdouble" nillable="true" type="tns:ArrayOfNullableOfdouble"/><xs:complexType name="ArrayOfNullableOfWeatherDataSourcev_PY1Rzz9"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="WeatherDataSource" nillable="true" type="q1:WeatherDataSource" xmlns:q1="http://schemas.datacontract.org/2004/07/DMIWeatherService.DataContract"/></xs:sequence></xs:complexType><xs:element name="ArrayOfNullableOfWeatherDataSourcev_PY1Rzz9" nillable="true" type="tns:ArrayOfNullableOfWeatherDataSourcev_PY1Rzz9"/></xs:schema> \ No newline at end of file diff --git a/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd4.xsd b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd4.xsd new file mode 100644 index 0000000000000000000000000000000000000000..3476dcaef96acafaa35f2f05afb28214d94c152e --- /dev/null +++ b/src/wsdl/dmiweatherservice-plant.dlbr.dk/DMIWeatherService.svc.xsd_xsd4.xsd @@ -0,0 +1 @@ +<?xml version="1.0" encoding="utf-8"?><xs:schema elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><xs:complexType name="ArrayOfstring"><xs:sequence><xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string"/></xs:sequence></xs:complexType><xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring"/></xs:schema> \ No newline at end of file