gpt4 book ai didi

java - Spring Rest 模板 - 将请求字符串主体发布到 azure 给出 500 错误

转载 作者:行者123 更新时间:2023-12-02 02:44:52 25 4
gpt4 key购买 nike

在执行此代码块之前,我可以调用 4-5 个其余 api。但我无法执行这段代码。

我使用的是 spring 4.0.4 核心,mvc jar。

我正在尝试使用rest模板调用azure ucwa Web服务,它是一个以字符串作为主体的post方法。我收到 500 内部错误。我已经在互联网上进行了搜索,但没有找到解决方案,请指导我。谢谢。

链接:https://learn.microsoft.com/en-us/skype-sdk/ucwa/sendanim 步骤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)

最佳答案

很难说你得到的 500 响应背后的原因是什么 - 你可能必须自己调试它,但这应该不会很难。

自从您使用默认构造函数创建了 RestTemplate 以来,您就获得了默认错误处理。在 Debug模式下运行应用程序并在 DefaultResponseErrorHandler::handleError 中放置一个断点。在那里,您可以访问由 ClientHttpResponse 类表示的响应,并且可以实际查看您返回的正文。

当您知道错误背后的原因时,您可以相应地更正请求。

关于java - Spring Rest 模板 - 将请求字符串主体发布到 azure 给出 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57152524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com