Magento SOAP API V2 с C #: проблема с хранилищами, требующими HTTP-аутентификации - PullRequest
1 голос
/ 05 января 2012

ПЕРЕСМОТРЕННЫЙ ВОПРОС
Я пересмотрел исходный вопрос (как показано ниже), чтобы пометить часть проблемы как ответ.Итак, вот что:
Я создал инструмент для импорта заказов на продажу из магазинов клиентов (magento) для интеграции в нашу традиционную систему обработки заказов.У меня есть пять магазинов для импорта.У одного из них в хранилище установлена ​​HTTP-аутентификация, и из-за этого происходит сбой входа в API.Как мне преодолеть это?



ОРИГИНАЛЬНЫЙ ВОПРОС (Название: Импорт заказов на продажу из Magento с использованием C #: в документе XML есть ошибка (2, 372)):

Я создал инструмент для импорта заказов на продажу из магазинов клиентов (magento) для интеграции в нашу традиционную систему обработки заказов.У меня есть пять магазинов для импорта.Три отлично работают.

  • ПРОБЛЕМА 1: четвертое хранилище выдает это исключение при выполнении вызова salesOrderList ():

    Первое случайное исключение типа 'System.InvalidOperationException'произошла в System.Xml.dll

    В XML-документе произошла ошибка (2, 372).

    Вход в систему выполнен успешно, я могу перечислить значения атрибута и т. д. НоЯ не могу запустить функцию salesOrderList() с каким-либо фильтром (и null тоже).Было бы замечательно, если бы кто-то имел опыт с этим и мог бы указать мне правильное направление.

  • ПРОБЛЕМА 2: Пятое хранилище имеет HTTP-авторизацию для доступа к своей главной странице magento.Я работал только с API User Name и API Key.Но, похоже, мне нужно преодолеть препятствие HTTP-авторизации, чтобы перейти к этапу входа в API.Функция Login() веб-службы magento принимает только имя пользователя API и ключ API.Не уверен, как обрабатывать дополнительный уровень HTTP-аутентификации.Кто-нибудь может помочь?

1 Ответ

1 голос
/ 05 января 2012

Это часто случается, вам просто повезло, и у вас впервые возникает эта проблема.

Что вы можете сделать, это использовать fiddler , чтобы проверить, почему вы получаете плохойФормат XML, так как .NET только анализирует его и видит, что Magento не отправил ничего, что стоит попробовать, поскольку он создан неправильно.

Обычно вы в конечном итоге анализируете необработанные ответы от Magento, поскольку это намного безопаснее, или используетеВызовы XmlRpc.

Но пока, проверьте, так как у вас есть более одного, чтобы проверить разницу между ответами в fiddler.

Что касается вашей аутентификации, вам нужно запросить у хоста учетные данныеи добавьте их в свой запрос как новый NetworkCredentials объект в правильном свойстве вашего сервисного объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...