До месяца или около того go наш интерфейс к A C работал просто отлично. Но теперь всякий раз, когда наш код вызывает
https://url/public/api/v1/issue-token
, мы теперь получаем 700 плюс строки html с сообщением «Что-то пошло не так. Пожалуйста, обратитесь в службу технической поддержки. ", Вместо ответа json.
Я пока не нашел ничего, что могло бы объяснить это сообщение об ошибке. Сертификат самоподписан, но уже довольно давно, и интерфейс работал с ним ранее. Этот набор кода не менялся более шести месяцев, опять же, раньше он работал нормально.
Я вполне уверен, что сама страница возвращается из A C, поскольку возвращается содержимое раздела заголовка API и заголовок раздела со стандартной страницы входа A C одинаковы. Элемент html из ответа API приведен ниже.
<!DOCTYPE html>
<html lang="en-us"
xml:lang="en-us"
xmlns="http://www.w3.org/1999/xhtml"
ng-controller="AngieApplicationController"
class="{{ wireframe.get_theme() }}"
ng-class="{
unauthorized : wireframe.initialized && wireframe.authorized === false,
initialized : wireframe.initialized
}">
<head>
Есть мысли, идеи, предложения о том, куда обратиться дальше?
AC5TokenRequest tokenRequest = new AC5TokenRequest { username = username, password = password, client_name = clientApp, client_vendor = clientVendor };
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(baseUrl + "/issue-token");
wr.Method = "POST";
wr.ContentType = "application/json;charset=utf-8";
UTF8Encoding encoding = new UTF8Encoding();
string request = SerializationHelper.ToJSON(tokenRequest);
byte[] bytes = encoding.GetBytes(request);
wr.ContentLength = bytes.Length;
using (Stream requestStream = wr.GetRequestStream())
{
requestStream.Write(bytes, 0, bytes.Length);
}
using (Stream response = wr.GetResponse().GetResponseStream())
using (TextReader tr = new StreamReader(response))
{
string responseText = tr.ReadToEnd();
JObject jo = JObject.Parse(responseText);
if((bool)jo["is_ok"] == true )
{
accessToken = (string)jo["token"];
}
}