我想打个电话。我可以成功地拨打电话,但它说:“对不起,发生了一些应用程序错误。”。这可能是响应xml中的一个问题。
下面是拨打电话的代码:
@RequestMapping(value = "/makeCall", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
String makeCall(@RequestBody TwilRequest twilRequest, HttpServletRequest request) {
....
Map<String, String> params = new HashMap<String, String>();
params.put("From", CallerID);
params.put("To", addPulsIfNot(twilRequest.getToPhone()));
params.put(
"Url", "http://example.com/ws/twil/voiceResponse?phone=9198989...");
.....
}
下面是调用和返回响应xml的响应服务:
@RequestMapping(value = "/voiceResponse", method = RequestMethod.GET)
public @ResponseBody String voiceResponse(HttpServletRequest request,
HttpServletResponse response) throws IOException {
TwiMLResponse twiml = new TwiMLResponse();
Dial dial = new Dial(addPulsIfNot(phone));
try {
dial.append(client);
twiml.append(dial);
} catch (TwiMLException e) {
e.printStackTrace();
}
response.setContentType("Application/xml");
return twiml.toXML();
}
我不确定出了什么问题。请帮忙。提前谢谢。
1条答案
按热度按时间sqxo8psd1#
问题是方法
=RequestMethod.GET
,应该是post。您可以指定希望在api请求中使用的方法。建议使用post,默认为post。
在本例中,twilio将发布到
http://demo.twilio.com/docs/voice.xml
获取twiml以处理调用:但是这里twilio会发送一个get请求给
http://demo.twilio.com/docs/voice.xml
获取twiml来处理调用。