public REP_CapabilitiesType GetCapabilities() { //Build Cababilities.XML //ServiceIndentification REP_CapabilitiesType rootCapabilities = new REP_CapabilitiesType(); rootCapabilities.version = "2.0.0"; rootCapabilities.ServiceIdentification = new ServiceIdentification(); //Title IList <string> values = new List <string>(); values.Add(ServiceData.Title()); rootCapabilities.ServiceIdentification.Title = CreateNode(values); values = new List <string>(); values.Add(ServiceData.Abstract()); //Abstract rootCapabilities.ServiceIdentification.Abstract = CreateNode(values); //Keywords KeywordsType keyWords = new KeywordsType(); //TODO: Sjekk om dette fungerer!!! values = ServiceData.Keywords(); keyWords.Keyword = CreateNode(values); keyWords.Type = new CodeType(); keyWords.Type.Value = "String"; List <KeywordsType> lstDesc = new List <KeywordsType>(); lstDesc.Add(keyWords); rootCapabilities.ServiceIdentification.Keywords = lstDesc.ToArray(); //<ows:ServiceType>WFS</ows:ServiceType> //TODO: Legg til felt i databasen rootCapabilities.ServiceIdentification.ServiceType = new CodeType(); rootCapabilities.ServiceIdentification.ServiceType.Value = "WFS"; //<ows:ServiceTypeVersion>2.0.0</ows:ServiceTypeVersion><ows:ServiceTypeVersion>1.1.0</ows:ServiceTypeVersion><ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion> //TODO Legg til felt i basen. rootCapabilities.ServiceIdentification.ServiceTypeVersion = new string[3]; rootCapabilities.ServiceIdentification.ServiceTypeVersion[0] = "2.0.0"; rootCapabilities.ServiceIdentification.ServiceTypeVersion[1] = "1.1.0"; rootCapabilities.ServiceIdentification.ServiceTypeVersion[2] = "1.0.0"; rootCapabilities.ServiceIdentification.Fees = ServiceData.Fees(); rootCapabilities.ServiceIdentification.AccessConstraints = CreateNode(ServiceData.AccessConstraints()); ////ServiceProvider rootCapabilities.ServiceProvider = new ServiceProvider(); rootCapabilities.ServiceProvider.ProviderName = ServiceData.ProviderName(); rootCapabilities.ServiceProvider.ProviderSite = new OnlineResourceType(); rootCapabilities.ServiceProvider.ProviderSite.href = ServiceData.ProviderSite(); rootCapabilities.ServiceProvider.ServiceContact = new ResponsiblePartySubsetType(); rootCapabilities.ServiceProvider.ServiceContact.IndividualName = ServiceData.IndividualName(); rootCapabilities.ServiceProvider.ServiceContact.PositionName = ""; //TODO: Lgg i basen. Innstilling for dette rootCapabilities.ServiceProvider.ServiceContact.ContactInfo = new ContactType(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Phone = new TelephoneType(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Phone.Voice = CreateNode(ServiceData.Phone()); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Phone.Facsimile = CreateNode(ServiceData.Fax()); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Address = new AddressType(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Address.DeliveryPoint = CreateNode(ServiceData.Adresse()); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Address.City = ServiceData.City(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Address.AdministrativeArea = ServiceData.City(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Address.Country = ServiceData.Country(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.Address.ElectronicMailAddress = CreateNode(ServiceData.EMail()); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.OnlineResource = new OnlineResourceType(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.OnlineResource.href = ServiceData.OnlineResourcesUrl(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.HoursOfService = ServiceData.HoursOfService(); rootCapabilities.ServiceProvider.ServiceContact.ContactInfo.ContactInstructions = ServiceData.ContactInstructions(); rootCapabilities.ServiceProvider.ServiceContact.Role = new CodeType(); rootCapabilities.ServiceProvider.ServiceContact.Role.Value = ServiceData.Role(); rootCapabilities.OperationsMetadata = new OperationsMetadata(); List <Operation> listLst = new List <Operation>(); Operation operationNode = CreateOperation("GetCapabilities", "Acceptversions", "2.0.0"); //TODO, må inn i databasen listLst.Add(operationNode); operationNode = CreateOperation("DescribeFeatureType", "", ""); listLst.Add(operationNode); operationNode = CreateOperation("ListStoredChangelog", "", ""); listLst.Add(operationNode); operationNode = CreateOperation("OrderChangelog", "", ""); listLst.Add(operationNode); operationNode = CreateOperation("GetChangelogStatus", "", ""); listLst.Add(operationNode); rootCapabilities.OperationsMetadata.Operation = listLst.ToArray(); List <DomainType> lstDomain = new List <DomainType>(); lstDomain.Add(CreateParameter("version", "2.0.0")); rootCapabilities.OperationsMetadata.Parameter = lstDomain.ToArray(); List <DomainType> lstConstraints = new List <DomainType>(); lstConstraints.Add(CreateConstraints("ImplementsReplicationWFS", "TRUE")); lstConstraints.Add(CreateConstraints("ImplementsTransactionalWFS", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsLockingWFS", "FALSE")); lstConstraints.Add(CreateConstraints("KVPEncoding", "TRUE")); lstConstraints.Add(CreateConstraints("XMLEncoding", "FALSE")); lstConstraints.Add(CreateConstraints("SOAPEncoding", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsInheritance", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsRemoteResolve", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsResultPaging", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsStandardJoins", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsSpatialJoins", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsTemporalJoins", "FALSE")); lstConstraints.Add(CreateConstraints("ImplementsFeatureVersioning", "FALSE")); lstConstraints.Add(CreateConstraints("ManageStoredQueries", "FALSE")); lstConstraints.Add(CreateConstraints("CountDefault", "1000")); //TODO: Legge denne verdie for servicen. lstConstraints.Add(CreateParameter("QueryExpressions", "wfs:StoredQuery")); rootCapabilities.OperationsMetadata.Constraint = lstConstraints.ToArray(); rootCapabilities.datasets = CreateDatasets(); return(rootCapabilities); }