HTTP 500 Внутренняя ошибка сервера, в сборке выпуска Android - PullRequest
0 голосов
/ 06 июня 2018

У меня есть модифицированный вызов на мой сервер, который возвращает данные JSON.Я работал над сборкой отладки с первого дня, и все выглядело хорошо.Буквально вчера я сгенерировал сборку релиза (android) и обнаружил, что вызов вызывает ошибку, за исключением «HTTP 500, внутренняя ошибка сервера».

Я не могу понять, в чем разница между двумя, в которые я попадаютакое состояние.Код для модернизации:

public void populateFeeds(final String market, final String category, final String msaToken, final String language, final List<CategorizedFeeds> categorizedFeedsList){
        VmFeedsHub.this.feedClusterDataSetUpdate.set(false);
        VmFeedsHub.this.feedCategoryDataSetUpdate.set(false);
        BackendFactory.getFeedsServiceBackend().getFeedsMetadata(market, category, null, null)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<Feeds>() {
                    @Override
                    public void onCompleted() {
                    }

                    @Override
                    public void onError(Throwable e) {
                        ALog.i(TAG, LOG_PREFIX + " Feeds data retrieved empty/null for market: " + market + " with exception: " + e.getMessage());
                    }

                    @Override
                    public void onNext(Feeds feeds) {
                        ALog.i(TAG, LOG_PREFIX + " Feeds data retrieved successfully with feed count: " + feeds.getFeedsMetaDataArrayList().size() + " for market: " + market);
                        for (CategorizedFeeds categorizedFeeds : feeds.getFeedsMetaDataArrayList()) {
                            List<FeedMetadata> feedMetadataList = new ArrayList<>();
                            for(FeedsMetadata feedsMetadata : categorizedFeeds.getFeedsMetadataArrayList()){
                                FeedMetadata feedMetadata = new FeedMetadata(feedsMetadata.getHeadlineText(), feedsMetadata.getHeadlineImageURL(), feedsMetadata.getProviderName(), feedsMetadata.getProviderImageURL(), feedsMetadata.getPublishedDateTime(), feedsMetadata.getFeedURL(), feedsMetadata.getCmsId());
                                feedMetadataList.add(feedMetadata);
                            }
                            CategorizedFeeds categorizedFeed = new CategorizedFeeds(categorizedFeeds.getCategory(), feedMetadataList);
                            categorizedFeedsList.add(categorizedFeed);
                        }
                        if(category.equals(CATEGORY_CLUSTER))
                            VmFeedsHub.this.feedClusterDataSetUpdate.set(true);
                        else
                            VmFeedsHub.this.feedCategoryDataSetUpdate.set(true);
                    }
                });
    }

1 Ответ

0 голосов
/ 06 июня 2018

Я выяснил, что проблема была здесь с отправляемым телом POST.В пользовательском объекте proguard переименовывал переменные и, следовательно, сервер не мог их перехватить.Добавленная аннотация @SerializedName устранила проблему.

...