私はtwilio APIへの応答を送信するとサポートされていないメディアタイプの問題に直面しています。Twilio API 415サポートされていないメディアタイプエラーです。エラー - 11200
は、私は私が今まで私のメッセージのステータスに変化があった場合に私のシステムに応答を送信するためにtwilioためcallBackUrlを設定し
TwilioRestClient client = new TwilioRestClient(accountSID, authToken);
Account account = client.getAccount();
MessageFactory messageFactory = account.getMessageFactory();
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair(TO, mobileNumber));
params.add(new BasicNameValuePair(FROM_, from));
params.add(new BasicNameValuePair(BODY, messageBody));
params.add(new BasicNameValuePair(CALL_BACK_URL, callBackUrl));
以下のようにtwilioのAPIを使用して番号にメッセージを送ります。以下は
iはtwilioデバッガでの私の応答の状態を確認し、バックit.Whenに応答を送信twilioからの要求を処理した後
@POST
@Path("/callback/inbound/Twilio")
@Produces({MediaType.APPLICATION_JSON,MediaType.APPLICATION_XML,MediaType.TEXT_PLAIN })
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Response inboundTwilio(@QueryParam("AccountSid") String accountSid,
@QueryParam("MessageSid") String gatewayTxnId,
@QueryParam("MessageStatus") String messageStatus,
@QueryParam("ErrorCode") String errorCode,
@QueryParam("From") String from,
@QueryParam("To") String to,
@Context HttpServletRequest request) throws DateParseException {
Response response = null;
try{
Long startTime = System.currentTimeMillis();
LOGGER.info("In twilio inbound response for gatewayTxnId :: "+gatewayTxnId);
// business logic and processing of twilio inbound handled here and it will return a status object
LOGGER.info("Execution completed in :: "+(System.currentTimeMillis()-startTime));
if (status != null && SUCCESS.equalsIgnoreCase(status)) {
TwiMLResponse twiml = new TwiMLResponse();
Message message = new Message("SUCCESS");
twiml.append(message);
response = Response.status(Response.Status.OK).entity(twiml).build();
} else {
response = Response.status(Response.Status.BAD_REQUEST).build();
}
}catch(Exception e){
LOGGER.error("An error occured in MessageResource while processing inboundTwilio :: ",e.getMessage());
response = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(responseUtil.prepareResponse("500",
"Error occoured while processing your request", ExceptionUtils.getStackTrace(e)).toString()).build();
}
return response;
}
twilio着信応答を処理するコードである、それは失敗しました表示されます415メディアがサポートされていないエラーです。私は正確なロールの原因を見つけることができません。何かが間違っている
##典型的なTwilioのインバウンドが要求
URL
/休憩/メッセージ/コールバック/インバウンドどのように見えるか
これを見出しhttps://www.twilio.com/docs/api/twiml/sms/your_response##から私の理解に基づいて開発
であるなら、私を導きます/ Twilio?
パラメータ
MESSAGESTATUSは
APIVERSION 2010-04-01
SMSSID
SMSSTATUSは、送信者からの91123456789
TO
を送っ送っ
MESSAGESID
ACCOUNTSID私はあなただけcontent-type for TwiML responseを設定する必要があると考えてい
応答オブジェクトはHttpServletResponseではありません。 javax.ws.rs.core.Responseです。このように** Response.status(Response.Status.OK).header( "Content-Type"、 "application/xml")エンティティ(twiml).build(); **を追加して、応答で入力します。まだ運がない – Adithya