private static void CheckStatusCompletedEventHandler(object sender, StatusCompletedEventArgs e) { // "status": "partial | processing | failed | completed" if (e.Response.status == "completed") { AGOLClient client = new AGOLClient(userCreds); Console.WriteLine("Publishing Feature Service"); PublishItemParameters publishParams = new PublishItemParameters("shapefile"); publishParams.ItemId = e.Response.itemId; (publishParams.PublishParameters as PublishParametersShapefile).name = "Myservicetest"; (publishParams.PublishParameters as PublishParametersShapefile).description = "My service description"; JsonPublishResponse publishResponse = client.Publish(publishParams, token); foreach (JsonServiceResponse serviceResponse in publishResponse.services) { Console.WriteLine(string.Format("{0} published", serviceResponse.type)); Console.WriteLine(string.Format("{0}", serviceResponse.serviceItemId)); Console.WriteLine(string.Format("{0}\n", serviceResponse.serviceurl)); } if (publishResponse.services.Length == 0) { Console.WriteLine(string.Format("Service publishing failed\n")); } } Console.WriteLine("\nPress Esc to quit"); }
public JsonPublishResponse Publish(PublishItemParameters publishParams, string token) { try { //TODO: figure out how to generate the URL Uri url = new Uri(string.Format("http://www.arcgis.com/sharing/content/users/{0}/publish?f=json&token={1}", userCredentials.Username, token)); HttpPostRequest request = new HttpPostRequest(url); request.AddFields(publishParams.GetParameters()); HttpWebResponse response = request.PostData(); StreamReader sr = new StreamReader(response.GetResponseStream()); JsonPublishResponse jsonPublishResponse = JsonConvert.DeserializeObject<JsonPublishResponse>(sr.ReadToEnd()); bool result = false; bool parseSuccess = true; //TODO!! bool.TryParse(jsonPublishResponse.type, out result); //TODO: do this error-checking better if (!parseSuccess) { throw new Exception(); } return jsonPublishResponse; } catch (Exception e) { throw e; } }