Search code examples
javaspringazurerestucwa

Spring Rest Template - Post Request String Body to azure gives 500 error


I'm able call 4-5 rest apis, prior to coming to this block of code. But I'm not able to execute this block of code.

I am using spring 4.0.4 core, mvc jars.

I am trying to call a azure ucwa web service using rest template, its a post method with string as body. I m getting a 500 internal error. I have searched all over internet and yet did not find solution, Please guide me. Thank you.

link : https://learn.microsoft.com/en-us/skype-sdk/ucwa/sendanim step 9

RestTemplate restTemplate = new RestTemplate();
   System.out.println(" jsonLinksObj : 4a "+jsonLinksObj);   
   org.json.JSONObject jsonSendMessageObj = jsonLinksObj.getJSONObject("sendMessage");
   String sendMsgFullUrl = poolUrl.concat(jsonSendMessageObj.getString("href")).concat("?OperationContext=4322131"); 

  headers.clear();
  headers.setContentType(MediaType.TEXT_PLAIN);
  headers.set("Authorization", "Bearer " + jwtToken);

  String body = "My Send Message Here";

                HttpEntity<Object> entityJsonSendMsg4 = new HttpEntity<Object>(body, headers);


                 ResponseEntity<Object> sbSendMsgObj  = null;
               try{

                    sbSendMsgObj = restTemplate.exchange(
                        new URI(sendMsgFullUrl), 
                        HttpMethod.POST, 
                        entityJsonSendMsg4, 
                        Object.class);
               } catch(Exception e){
                        e.printStackTrace();
               }

                            WARN : org.springframework.web.client.RestTemplate - POST request for "https://webpoolpnqin102.infra.lync.com/ucwa/oauth/v1/applications/102086376449/communication/conversations/46db8085-8ad0-4186-a4f0-9a521b256b9b/messaging/messages?OperationContext=4322131" resulted in 500 (Internal Server Error);         invoking error handler
                org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error
                                at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94)
                                                                                         at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:589)
                                at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:547)
                                at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:518)
                                at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:463)
                                at com.test.example.employee.test.EmployeeTest.sendMessage(EmployeeTest.java:266)
                                  at com.test.example.employee.test.EmployeeTest.main(EmployeeTest.java:337)
                Exception in thread "main" java.lang.NullPointerException
                                  at com.test.example.employee.test.EmployeeTest.sendMessage(EmployeeTest.java:331)
                                  at com.test.example.employee.test.EmployeeTest.main(EmployeeTest.java:337)

Solution

  • I have clean and build the project. And run the code again. Its working fine, anybody want to send string in body, can use the above rest template code. Thank you.