2016-10-24 10 views
0

У меня есть аутентифицированный и авторизированный UCWA API на C#. Идентификатор приложения также генерируется сгенерированным токеном. Когда я попытался создать встречу lync, используя следующий код, я получаю сообщение об ошибке «Внутренняя ошибка сервера». Ошибка: -Использование UCWA API для планирования встреч Lync

{"code":"ServiceFailure","message":"Your request couldn't be completed.","debugInfo":{"errorReportId":"e2c35f5e0b274c4185d08837dd7e16a3"}} 

Мой код: -

onlinemeetingURL = "https://lynctswebint.Mycompany.com/ucwa/oauth/v1/applications/101030060103/onlineMeetings/myOnlineMeetings"; 
    request = new RestRequest(onlinemeetingURL, Method.POST); 
    request.AddHeader("Accept", "application/json"); 
    request.AddHeader("Host", "lynctswebint.Mycompany.com"); 
    request.AddHeader("expirationTime","1482572914000"); 
    request.AddHeader("Authorization", String.Format("{0} {1}", applicationTokenType, applicationToken)); 
    var applicationBody = @"""lobbyBypassForPhoneUsers"" : ""Disabled"",""phoneUserAdmission"" : ""Disabled"",""description"":""{0}"",""subject"":""{1}"",""attendees"":""{2}"",""leaders"":""{3}"""; 
    request.RequestFormat = DataFormat.Xml; 
    request.AddParameter(
     "application/json", 
     "{" + string.Format(applicationBody, "This is a test for UCWA meeting creation", "Test UCWA meeting creation", "sip:[email protected]", "sip:[email protected]") + "}", 
     ParameterType.RequestBody); 
    ucwaClient.ExecuteAsync(request, this.functionToCall); 

Есть не более подробной информации об этой ошибке. Для этого я использую библиотеку restSharp.

+0

Можете ли вы показать, как выглядит тело запроса в сетевой трассе или как-то иначе. Есть ли причина, по которой request.RequestFormat устанавливается как DataFormat.Xml при отправке JSON? – ShelbyZ

ответ

0

В дополнение к тому, что упоминалось о несогласованной спецификации формата полезной нагрузки, ваш код/​​полезная нагрузка содержит несколько ошибок.

Например, expirationTime информация должна быть также предоставлена ​​в корпусе полезной нагрузки, а не как часть заголовков запроса. Кроме того, участники и лидеры как ожидается, будут массивы ..

Я предлагаю вам прочитать и осуществить тщательно, что документировано в
myOnlineMeetings resource

+0

Спасибо за ответ. Я исправил в соответствии с вашим предложением и все еще получаю такую ​​же ошибку. Переходя по вашей ссылке, похоже, что ошибка связана с nvalidExchangeServerVersion, я использую учетную запись службы без связанного почтового ящика, это может быть причиной ошибки. – Chandikumar

+0

Спасибо за общую ссылку. Проблема решена, и я отправил исправление. Благодаря :-) – Chandikumar

0

После сниппета в мой код не был правильным.

request.AddParameter(
     "application/json", 
     "{" + string.Format(applicationBody, "This is a test for UCWA meeting creation", "Test UCWA meeting creation", "sip:[email protected]", "sip:[email protected]") + "}", 
     ParameterType.RequestBody); 

Мне пришлось передать массив для участников и лидеров, в то время как я проходил строку. Я скорректировал его следующим образом и его работая сейчас.

request.AddParameter("application/json", "{\r\n \"attendanceAnnouncementsStatus\":\"Enabled\",\r\n \"description\":\"This is a test for UCWA meeting creation\",\r\n \"subject\":\"Test UCWA meeting creation\",\r\n \"attendees\": [\"sip:[email protected]\"],\r\n \"leaders\": [\"sip:[email protected]\"]\r\n }", ParameterType.RequestBody)