Как исправить внутреннюю ошибку сервера для BIM 360 с использованием NET Core 2.1.1 - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь скопировать Companies внутри BIM 360 с одной учетной записи (Источник) на другую учетную запись (Цель).Следующий код создает компанию внутри целевой учетной записи с теми же свойствами, что и у исходной учетной записи.

dynamic createdTargetCompany = await Autodesk.Forge.Client.Configuration.Default.ApiClient.CallApiAsync(
        "https://developer.api.autodesk.com/hq/v1/accounts/" + targetAccountId + "/companies",
        Method.POST,
        new Dictionary<string, string>(),
        Deserialize.DeserializeObject(sourceCompanyInfo.Content, "Company"),
        targetHeaderParams,
        new Dictionary<string, string>(),
        new Dictionary<string, FileParameter>(),
        new Dictionary<string, string>(),
        "application/json");

Переменная createdTargetCompany содержит код состояния InterServerError со следующим сообщением:

"{\" code \ ": 2000, \" message \ ": \" ОШИБКА: двойное значение ключа нарушает уникальное ограничение \\ "companies_pkey \\" \ nDETAIL: Key (id) = (15bf4765-73b8-4940-aec4-0bcbeeec2bae) уже существует. \ N \ "}"

Я не уверен, что такое DETAIL: Key (id).Любые идеи, что вызывает это и как это исправить?

1 Ответ

0 голосов
/ 06 февраля 2019

Из кода, который я разместил в вопросе выше, метод Deserialize.DeserializeObject(sourceCompanyInfo.Content, "Company"), теперь больше не получает идентификатор учетной записи источника и идентификатор компании.Удаление этой функции теперь создает компании в целевой учетной записи.

Большое спасибо за комментарии, опубликованные по этой проблеме.

...