Recently, in most cases, the following error has started to occur, when I called ReminderManagementServiceClient.createReminder
.
The content of resolved promise is below.
ERROR Unhandled Promise Rejection
{
"errorType": "Runtime.UnhandledPromiseRejection",
"errorMessage": "ServiceError: Internal Server Error",
"reason": {
"errorType": "ServiceError",
"errorMessage": "Internal Server Error",
"name": "ServiceError",
"statusCode": 500,
"response": "<!doctype html><html lang=\"en\"><head><title>HTTP Status 500 – Internal Server Error</title><style type=\"text/css\">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 500 – Internal Server Error</h1><hr class=\"line\" /><p><b>Type</b> Exception Report</p><p><b>Message</b> Servlet execution threw an exception</p><p><b>Description</b> The server encountered an unexpected condition that prevented it from fulfilling the request.</p><p><b>Exception</b></p><pre>javax.servlet.ServletException: Servlet execution threw an exception\n\tcom.amazon.arest.metrics.ARestQuerylogFilter.doFilter(ARestQuerylogFilter.java:58)\n</pre><p><b>Root Cause</b></p><pre>java.lang.NoSuchMethodError: com.fasterxml.jackson.jaxrs.cfg.AnnotationBundleKey.<init>([Ljava/lang/annotation/Annotation;)V\n\torg.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider$ClassAnnotationKey.<init>(ResteasyJackson2Provider.java:67)\n\torg.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider$ClassAnnotationKey.<init>(ResteasyJackson2Provider.java:59)\n\torg.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider.readFrom(ResteasyJackson2Provider.java:101)\n\torg.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.readFrom(AbstractReaderInterceptorContext.java:59)\n\torg.jboss.resteasy.core.interception.ServerReaderInterceptorContext.readFrom(ServerReaderInterceptorContext.java:62)\n\torg.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:51)\n\torg.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.aroundReadFrom(GZIPDecodingInterceptor.java:59)\n\torg.jboss.resteasy.core.interception.AbstractReaderInterceptorContext.proceed(AbstractReaderInterceptorContext.java:53)\n\torg.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:150)\n\torg.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:89)\n\torg.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:112)\n\torg.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:296)\n\torg.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:250)\n\torg.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:237)\n\torg.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)\n\torg.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)\n\torg.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)\n\torg.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)\n\torg.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)\n\tjavax.servlet.http.HttpServlet.service(HttpServlet.java:791)\n\tcom.amazon.arest.metrics.ARestQuerylogFilter.doFilter(ARestQuerylogFilter.java:58)\n</pre><p><b>Note</b> The full stack trace of the root cause is available in the server logs.</p><hr class=\"line\" /><h3>Apache Tomcat/9.0.46</h3></body></html>",
"stack": [
"ServiceError: Internal Server Error",
" at ReminderManagementServiceClient.<anonymous> (/var/task/node_modules/ask-sdk-model/index.js:219:35)",
" at step (/var/task/node_modules/ask-sdk-model/index.js:45:23)",
" at Object.next (/var/task/node_modules/ask-sdk-model/index.js:26:53)",
" at fulfilled (/var/task/node_modules/ask-sdk-model/index.js:17:58)",
" at process._tickCallback (internal/process/next_tick.js:68:7)"
]
},
"promise": {},
"stack": [
"Runtime.UnhandledPromiseRejection: ServiceError: Internal Server Error",
" at process.on (/var/runtime/index.js:37:15)",
" at process.emit (events.js:198:13)",
" at emitPromiseRejectionWarnings (internal/process/promises.js:140:18)",
" at process._tickCallback (internal/process/next_tick.js:69:34)"
]
}
Create Request sometimes succeeds.
related implement is below.
const client = handlerInput.serviceClientFactory.getReminderManagementServiceClient();
const time = currentIntent.slots.Time;
const t = luxon.DateTime.fromISO(time.value, { zone: userTimezone }).toFormat("yyyy-MM-dd'T'T:00");
const reminderRequest = buildReminderRequest(t, "title");
const reminderResponse = client.createReminder(reminderRequest);
reminderResponse.then((resp) => {
console.log(resp);
})
function buildReminderRequest(time, title) {
return {
trigger: {
"type" : "SCHEDULED_ABSOLUTE",
"scheduledTime" : time
},
alertInfo: {
spokenInfo: {
content: [{
text: title,
}],
},
},
pushNotification: {
status: 'ENABLED',
},
};
}
"dependencies": {
"ask-sdk-core": "^2.7.0",
"ask-sdk-model": "^1.19.0",
"aws-sdk": "^2.326.0"
}