public CapabilitiesDataBuilder(string ProviderURL, string UserName, string Password) { geosyncDBEntities db = new geosyncDBEntities(); WebFeatureServiceReplicationPortClient client = new WebFeatureServiceReplicationPortClient(); client.ClientCredentials.UserName.UserName = UserName; client.ClientCredentials.UserName.Password = Password; client.Endpoint.Address = new System.ServiceModel.EndpointAddress(ProviderURL); GetCapabilitiesType1 req = new GetCapabilitiesType1(); REP_CapabilitiesType rootCapabilities = client.GetCapabilities(req); ReadGetCapabilities(db, rootCapabilities); }
public static IEnumerable <Dataset> ReadGetCapabilities(WebFeatureServiceReplicationPort client) { var datasets = new List <Dataset>(); var req = new GetCapabilitiesType1(); var rootCapabilities = client.GetCapabilities(req); //Build Cababilities.XML //ServiceIndentification foreach (var dst in rootCapabilities.datasets) { var precision = client.GetPrecision(dst.datasetId); var ds = new Dataset { ProviderDatasetId = dst.datasetId.Trim(), Name = dst.name.Trim(), Version = client.GetDatasetVersion(dst.datasetId).Trim(), Tolerance = precision.tolerance, EpsgCode = precision.epsgCode, Decimals = precision.decimals }; var dt = GetConstraint("CountDefault", rootCapabilities.OperationsMetadata.Constraint); if (dt != null) { ds.MaxCount = Convert.ToInt32(dt.DefaultValue.Value); } ds.TargetNamespace = dst.applicationSchema; var op = GetOperation("OrderChangelog", rootCapabilities.OperationsMetadata.Operation); if (op != null) { var postUrl = GetPostUrl(op.DCP); ds.SyncronizationUrl = postUrl; } datasets.Add(ds); } return(datasets); }