#web-services #api #soap #magento #wsdl
#веб-службы #API #soap #magento #wsdl
Вопрос:
Могут ли некоторые люди пролить некоторый свет на следующие вопросы? Я считаю, что следующие вопросы очень спорны, но я просто хочу знать простые факты, которые просветят меня и, конечно, многих других, просматривающих этот общий вопросительный пост.
- Почему Magento API выдает ответы веб-службы в формате XML, а не в формате JSON? В создании ответов в формате XML должны быть некоторые преимущества. В основном я хочу знать об этих преимуществах.
- В терминологии Magento упоминаются две версии API — «Обычный API» (api / soap) и «API v2 (api/v2_soap)». В чем разница (главным образом, в преимуществах) между этими двумя версиями и куда вписывается WSDL?
- Если я должен создать новую веб-службу, должен ли я ориентироваться на формат SOAP v1 или формат SOAP v2, или на оба этих формата?
- Может ли веб-служба создать общее определение WSDL, основанное на моих требованиях, в Magento? Что я хочу, так это то, что я хочу знать, может ли файл «
wsdl.xml
» (находящийся в папке «etc
» модуля Magento) для какого-либо конкретного модуля Magento API генерироваться динамически? Если я предоставлю требуемое имя метода API вместе со всеми именами свойств, типами, а также типами данных ответа, то получу ли я «wsdl.xml
файл, динамически генерируемый со всеми правильно упомянутыми сложными типами, методами и сообщениями?»
Если возможно, пожалуйста, предоставьте несколько хороших ссылок, откуда можно полностью очистить эту паутину веб-служб Magento. Кроме того, пожалуйста, учтите мой опыт в этой области веб-сервиса как новичка, чтобы на основе любого ценного вклада я мог переформулировать вопрос.
Помощь оценена и большое спасибо всем.
Мой основной смысл задавать этот вопрос заключается в том, что я хочу создать новые пользовательские API, которые могут использоваться любыми системами, будь то ERP / CRM / SAP / Cloud / что угодно в целом.
P.S.
Я попытался опубликовать этот вопрос в области Programmers Stack Exchange, но из-за отсутствия доступных обязательных тегов (таких как magento, wsdl и soap) мне пришлось опубликовать его здесь. Если возможно и требуется, пожалуйста, перенесите этот вопрос в соответствующую область stack exchange.
Ответ №1:
-
API предназначен не для ajax (frontend), а для интеграции Magento (frontend shop) с различными системами ERP, CRM, SAP (backend tools) — импортировать данные и получать отчеты. Вот почему он использует XML.
-
Это не терминология magento. Это сделано в основном для устаревшей поддержки. Итак, вы должны использовать последнюю версию — v2.
-
Что означает общее определение WSDL? WSDL описывает опубликованную функциональность — доступные вызовы / ресурсы. Если вам это не нужно, вам нужно перезаписать файлы конфигурации, чтобы публиковать не все, а только необходимые, или сделать это в области администрирования формы.
Не могли бы вы рассказать более ясно и технически, что вам нужно делать с API?
Комментарии:
1. Пожалуйста, проверьте обновленный вопрос. Но большое спасибо за ответ. Если возможно, пожалуйста, предоставьте несколько ссылок, по которым можно понять плюсы и минусы SOAP v2.
2. XML более безопасен по сравнению с JSON. Но это тяжелое и узкое место для интерфейса.
Ответ №2:
API отлично подходит для обычного программирования на PHP, когда вы хотите получить что-то из Magento. «Обычный» API отлично работает с PHP, более того, с результирующим XML очень легко работать по сравнению с XML, который генерируется другими API.
Некоторые люди говорили, что Magento API работает медленно, что так и есть. Однако, если вы перемещаете тот же код в программу Magento, то это все равно занимает целую вечность, код API не является большой нагрузкой.