Unable to unmarshall error response ( 500, Internal Server Error )

0

We get this Internal Server Error when we use AmazonSNSClient to subscribe to a topic and it fails only very few times. The exception doesn't have too much of details. We have updated proguard as well (https://github.com/aws/aws-sdk-android/blob/master/Proguard.md). We don't have the request ID as AmazonSNSClient.getCachedResponseMetadata is deprecated. How do we find the cause?

Non-fatal Exception: com.amazonaws.AmazonClientException: Unable to unmarshall error response (<init> [class java.lang.String]). Response Code: 500, Response Text: Internal Server Error
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:706)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:388)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:199)
at com.amazonaws.services.sns.AmazonSNSClient.invoke(AmazonSNSClient.java:2262)
at com.amazonaws.services.sns.AmazonSNSClient.subscribe(AmazonSNSClient.java:1256)
at com.amazonaws.services.sns.AmazonSNSClient.subscribe(AmazonSNSClient.java:2107)
...
Caused by java.lang.NoSuchMethodException: <init> [class java.lang.String]
at java.lang.Class.getConstructor0(Class.java:2204)
at java.lang.Class.getConstructor(Class.java:1683)
at com.amazonaws.transform.AbstractErrorUnmarshaller.newException(AbstractErrorUnmarshaller.java:63)
at com.amazonaws.transform.StandardErrorUnmarshaller.unmarshall(StandardErrorUnmarshaller.java:62)
at com.amazonaws.services.sns.model.transform.InternalErrorExceptionUnmarshaller.unmarshall(InternalErrorExceptionUnmarshaller.java:38)
at com.amazonaws.services.sns.model.transform.InternalErrorExceptionUnmarshaller.unmarshall(InternalErrorExceptionUnmarshaller.java:25)
at com.amazonaws.http.DefaultErrorResponseHandler.handle(DefaultErrorResponseHandler.java:95)
at com.amazonaws.http.DefaultErrorResponseHandler.handle(DefaultErrorResponseHandler.java:41)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:682)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:388)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:199)
at com.amazonaws.services.sns.AmazonSNSClient.invoke(AmazonSNSClient.java:2262)
at com.amazonaws.services.sns.AmazonSNSClient.subscribe(AmazonSNSClient.java:1256)
at com.amazonaws.services.sns.AmazonSNSClient.subscribe(AmazonSNSClient.java:2107)
...

asked 7 years ago2345 views
1 Answer
0

SNS SDK usage needs some good documentation. This error happens only in the release build and is because of missing proguard rule. Adding the following resolves it,

-keep class com.amazonaws.services.sns.** { *; }

answered 7 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions