public static string ParseErrorMessage(string statusMessage) { try { if (JsonUtilities.IsJson(statusMessage)) { JObject statusMessageJson = JObject.Parse(statusMessage); if (statusMessageJson.GetValue("message", StringComparison.CurrentCultureIgnoreCase) != null) { return(statusMessageJson.GetValue("message", StringComparison.CurrentCultureIgnoreCase).ToString()); } else if (statusMessageJson.GetValue("error", StringComparison.CurrentCultureIgnoreCase) != null) { JObject errorToken = statusMessageJson.GetValue("error", StringComparison.CurrentCultureIgnoreCase) as JObject; return(errorToken.GetValue("message", StringComparison.CurrentCultureIgnoreCase).ToString()); } } else if (XmlUtilities.IsXml(statusMessage)) { return(XmlUtilities.DeserializeXmlString <ResourceManagementError>(statusMessage).Message); } return(statusMessage); } catch { return(statusMessage); } }
public static MeasuresContainer ParseText(string text) { if (JsonUtilities.IsJson(text)) { return(ParseJson(text)); } return(ParseXmla(text)); }
public string UpdateMeasures(string text) { if (JsonUtilities.IsJson(text)) { return(UpdateMeasuresInJson(text)); } return(UpdateMeasuresInXmla(text)); }
/// <summary> /// For now, the 2nd message KVP inside "details" contains useful info about the failure. Eventually, a code KVP /// will be added such that we can search on that directly. /// </summary> /// <param name="content"></param> /// <returns></returns> internal static string FindDetailedMessage(string content) { string message = null; if (JsonUtilities.IsJson(content)) { var response = JObject.Parse(content); // check that we have a details section var detailsToken = response["details"]; if (detailsToken != null) { var details = detailsToken as JArray; if (details != null && details.Count > 1) { // for now, 2nd entry in array is the one we're interested in. Need a better way of identifying the // detailed error message var dObj = detailsToken[1] as JObject; var code = dObj.GetValue("code", StringComparison.CurrentCultureIgnoreCase); if (code != null) { message = code.ToString() + ": "; } var detailedMsg = dObj.GetValue("message", StringComparison.CurrentCultureIgnoreCase); if (detailedMsg != null) { message += detailedMsg.ToString(); } } } } return(message); }