2016-10-24 2 views
0

J'ai authentifié et autorisé l'API UCWA en C#. L'identifiant de l'application est également généré à l'aide du jeton généré. Lorsque j'ai essayé de créer une réunion lync en utilisant le code suivant, je reçois une erreur "Internal Server Error". Erreur: -Utilisation de l'API UCWA pour planifier des réunions Lync

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

Mon code est le suivant: -

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); 

Il n'y a pas plus de détails sur cette erreur. J'utilise la bibliothèque restSharp pour cela.

+0

Existe-t-il une raison pour laquelle request.RequestFormat est défini en tant que DataFormat.Xml lorsque vous envoyez un fichier JSON? – ShelbyZ

Répondre

0

Outre ce qui est mentionné à propos de la spécification incohérente du format de la charge utile, votre code/charge utile contient peu d'erreurs.

Par exemple, expirationTime informations doivent être fournies dans le corps de la charge utile, et non dans les en-têtes de la demande. En outre, les participants et dirigeants sont censés être des tableaux ..

Je vous suggère de lire attentivement et mettre en œuvre ce qui a documenté à
myOnlineMeetings resource

+0

Merci pour votre réponse. J'ai corrigé selon votre suggestion et toujours obtenir la même erreur. En passant par votre lien donné, il semble que l'erreur est liée à nvalidExchangeServerVersion, j'utilise un compte de service sans boîte mail associée, cela pourrait être une raison de l'erreur. – Chandikumar

+0

Merci pour le lien partagé. Problème résolu et j'ai posté ma correction. Merci :-) – Chandikumar

0

Après extrait dans mon code est incorrect. Je devais passer le tableau pour le participant et les leaders alors que je passais la chaîne. Je l'ai corrigé comme suit et fonctionne bien maintenant. Pouvez-vous montrer à quoi ressemble le corps de votre requête dans une trace réseau ou autre.?

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)