public ObservableCollection <ServiceInstance> FindServices(string coverageAreaType, string coverageArea, string unloCode, List <string> serviceProviderIds, string serviceDesignId, string serviceInstanceId, string mmsi, string imo, string serviceType, string serviceStatus, List <string> keyWords, string freeText, long?page, long?pageSize) { var result = new ObservableCollection <ServiceInstance>(); var url = _visUrl + string.Format("/findServices"); var area = new FindServicesRequestObjFilterCoverageArea(coverageAreaType, coverageArea); var filter = new FindServicesRequestObjFilter(area, unloCode, serviceProviderIds, serviceDesignId, serviceInstanceId, mmsi, imo, serviceType, serviceStatus, keyWords, freeText); var request = new FindServicesRequestObj(filter, page, pageSize); WebHeaderCollection headers = new WebHeaderCollection(); headers.Add(HttpRequestHeader.ContentType, "application / json; charset = UTF8"); var response = WebRequestHelper.Post(url, request.ToJson(), headers); try { var responseObj = JsonConvert.DeserializeObject <FindServicesResponseObj>(response.Body); if (responseObj != null) { if (response.HttpStatusCode == HttpStatusCode.OK) { if (responseObj.StatusCode != 200) { MessageBox.Show(string.Format("The find service request returned status code {0}, {1}", responseObj.StatusCode, responseObj.StatusMessage)); } try { if (responseObj.ServicesInstances != null) { foreach (var service in responseObj.ServicesInstances) { result.Add(service); } } } catch (Exception ex) { throw new Exception(responseObj.ServicesInstances.ToArray().ToString(), ex); } } } else { MessageBox.Show(string.Format("The find service request returned status code {0}, {1}", response.HttpStatusCode, response.Body)); } return(result); } catch (Exception ex) { string errMessage = string.Format("Failed to get valid response from Service Registry. The reponse body does not validate towards the underlying schema: {0}", ex.Message); var err = new Exception(errMessage); throw err; } }
public ObservableCollection <ServiceInstance> FindServices(string coverageAreaType, string coverageArea, string unloCode, List <string> serviceProviderIds, string serviceDesignId, string serviceInstanceId, string mmsi, string imo, string serviceType, string serviceStatus, List <string> keyWords, string freeText, long?page, long?pageSize) { var result = new ObservableCollection <ServiceInstance>(); var url = _spisUrl + string.Format("/findServices"); var area = new FindServicesRequestObjFilterCoverageArea(coverageAreaType, coverageArea); var filter = new FindServicesRequestObjFilter(area, unloCode, serviceProviderIds, serviceDesignId, serviceInstanceId, mmsi, imo, serviceType, serviceStatus, keyWords, freeText); var request = new FindServicesRequestObj(filter, page, pageSize); WebHeaderCollection headers = new WebHeaderCollection(); headers.Add(HttpRequestHeader.ContentType, "application/json; charset=utf-8"); var response = WebRequestHelper.Post(url, request.ToJson(), headers); var responseObj = JsonConvert.DeserializeObject <FindServicesResponseObj>(response.Body); if (response.HttpStatusCode == HttpStatusCode.OK) { try { foreach (var service in responseObj.ServicesInstances) { result.Add(service); } } catch (Exception ex) { throw new Exception(responseObj.ServicesInstances.ToArray().ToString(), ex); } } return(result); }