C # MWS «HTTP-заголовок Content-MD5, который вы передали для своего канала, не соответствует содержимому MD5, которое мы рассчитали для вашего канала» - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь использовать Amazon Feeds API> операция SubmitFeed.

Я установил в FeedContent запроса поток памяти, созданный XmlWriter.

Переменная ContentMD5 запроса установлена ​​с:

 request.ContentMD5 = MarketplaceWebServiceClient.CalculateContentMD5(request.FeedContent);

Я использую клиентскую библиотеку Amazon MWS Feeds Api (https://developer.amazonservices.com/doc/bde/feeds/v20090101/cSharp.html)

Я не менял коды. Когда я вызываю MarketplaceWebService.SubmitFeed, я получаю эту ошибку:

"HTTP-заголовок Content-MD5, который вы передали для своего канала, не соответствует содержимому MD5, которое мы рассчитали для вашего канала"

Amazon говорит, что: их рассчитанные значения MD5 и мои значения MD5 отличаются. Почему это происходит?

1 Ответ

0 голосов
/ 31 октября 2018

Я добавил в клиентскую библиотеку Amazon Feeds Api> MarketplaceWebServiceClient.cs файл методом:

 public static string CalculateContentMD5(byte[] content)
 {
        MD5CryptoServiceProvider provider = new MD5CryptoServiceProvider();
        byte[] hash = provider.ComputeHash(content);
        return Convert.ToBase64String(hash);
 }

Существует функция

public static string CalculateContentMD5(Stream content) 

, но она не работает должным образом.

Используйте байт [] вместо Stream для вычисления хеша MD5.

...