Operations
- ListDataServices() returns DataServices with zero or more
- GetDataServicesInfo(DataServiceCode) returns DataServices with zero or one
- unknown DataServiceCode returns a response with no DataService elements
Service Locations
Development: http://water.sdsc.edu/hisservices/
- http://water.sdsc.edu/hisservices/DataService.svc
Rest
XML Output
Pattern:
- return all:
rest/
- return one:
rest/(DataServiceCode)
Examples:
CSV files
Pattern:
Message
request
response
- networks is list of network
- information in network is
* Data Service Name
- Data Service Title
- Data Service WSDL URL
Data Service Description URL- Geographic Extent (xmin, xmax, ymin, ymax)
- Abstract
- Contact Name
- Contact Email
- Contact Phone
- Organization
- Organization Website
- Citation
- Value Count
- Variable Count
- Site Count
- Earliest Record DateTime
- Latest Record DateTime
- ServiceStatus
Missing. They are not yet in the database. Data Service Description URL
==== XML ====
<DataServices xmlns="uri:cuahsi.hiscentral.DataService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="uri:cuahsi.hiscentral">
<DataService>
<a:Abstract>Developmental service. This service is internal CUAHSI use, and evaluation. NWIS Instantaneous Irregular Data</a:Abstract>
<a:Citation i:nil="true" />
<a:ContactEmail i:nil="true" />
<a:ContactName>David Valentine</a:ContactName>
<a:ContactPhone i:nil="true" />
<a:CreatedDate>2008-10-30T00:00:00</a:CreatedDate>
<a:DataServiceCode>NWISIID</a:DataServiceCode>
<a:DataServiceID>2</a:DataServiceID>
<a:DataServiceTitle>NWIS Instantaneous Irregular Data</a:DataServiceTitle>
<a:DataServiceVocab i:nil="true" />
<a:DataServiceWSDL>http://river.sdsc.edu/wateroneflow/NWIS/Data.asmx?WSDL</a:DataServiceWSDL>
<a:EarliestRec>1867-09-01T00:00:00</a:EarliestRec>
<a:East>71.38737</a:East>
<a:IsPublic>true</a:IsPublic>
<a:LatestRec>2231-12-13T20:45:00</a:LatestRec>
<a:North>179.90979</a:North>
<a:Organization>NWISIID</a:Organization>
<a:OrganizationWebsite>http://www.usgs.gov</a:OrganizationWebsite>
<a:ProjectStatus i:nil="true" />
<a:ServiceStatus i:nil="true" />
<a:SiteCount>369148</a:SiteCount>
<a:South>-176.652481</a:South>
<a:ValueCount>15501245</a:ValueCount>
<a:VariableCount>605</a:VariableCount>
<a:West>-14.2457218</a:West>
</DataService>
</DataServices>
XMl Schema
<xs:schema elementFormDefault="qualified" targetNamespace="uri:cuahsi.hiscentral.DataService" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="uri:cuahsi.hiscentral.DataService">
<xs:complexType name="DataServices">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="DataService" nillable="true" type="q1:DataService" xmlns:q1="uri:cuahsi.hiscentral" />
</xs:sequence>
</xs:complexType>
<xs:element name="DataServices" nillable="true" type="tns:DataServices" />
<xs:complexType name="DataService">
<xs:sequence>
<xs:element minOccurs="0" name="Abstract" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="Citation" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ContactEmail" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ContactName" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ContactPhone" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="CreatedDate" nillable="true" type="xs:dateTime" />
<xs:element minOccurs="0" name="DataServiceCode" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DataServiceID" type="xs:int" />
<xs:element minOccurs="0" name="DataServiceTitle" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DataServiceVocab" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="DataServiceWSDL" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="EarliestRec" nillable="true" type="xs:dateTime" />
<xs:element minOccurs="0" name="East" nillable="true" type="xs:float" />
<xs:element minOccurs="0" name="IsPublic" nillable="true" type="xs:boolean" />
<xs:element minOccurs="0" name="LatestRec" nillable="true" type="xs:dateTime" />
<xs:element minOccurs="0" name="North" nillable="true" type="xs:float" />
<xs:element minOccurs="0" name="Organization" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="OrganizationWebsite" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ProjectStatus" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="ServiceStatus" nillable="true" type="xs:string" />
<xs:element minOccurs="0" name="SiteCount" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="South" nillable="true" type="xs:float" />
<xs:element minOccurs="0" name="ValueCount" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="VariableCount" nillable="true" type="xs:long" />
<xs:element minOccurs="0" name="West" nillable="true" type="xs:float" />
</xs:sequence>
</xs:complexType>
<xs:element name="DataService" nillable="true" type="tns:DataService" />
</xs:schema>
WCF Code
Interface Definition
namespace Cuahsi.HisServices
{
[ServiceContract( Namespace = "uri:cuahsi.hiscentral.DataServices" ) ]
public interface IDataServices
{
[OperationContract]
DataServices ListDataServices();
[OperationContract]
DataServices GetDataServiceInfo(String dataServiceCode);
}
}