Прежде всего, пожалуйста, никогда не вмешивайтесь в элементы по умолчанию любого файла конфигурации WSDL Magento API V2. Это основное правило.
Не забывайте записывать следующие элементы в начале каждого пользовательского файла WSDL или убедитесь, что в начале файла WSDL целевого существующего модуля присутствуют следующие элементы: -
- "
definition
" элемент (<definitions>
- начальный тег)
- Элемент *
types
(<types>
- начальный тег)
- Элемент "
schema
" (<schema>
- начальный тег)
- Элемент *
import
(<import />
- одиночный тег, без конечного тега)
Затем вы можете продолжить определение сложных типов данных Magento API V2 для этого пользовательского модуля.
Вы можете очень хорошо понять все это, взглянув на некоторые из существующих WSDL-файлов Magento API V2.
Теперь вернемся к вашим вопросам ...
1. Любой способ решить это?
Как я уже говорил, пожалуйста, сохраняйте вышеупомянутые определения элементов в начале вашего WSDL-файла.
Оператор "import
" должен был выглядеть так: -
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
без конечного тега.
Также имя атрибута "schemaLocation
", а не "schemalocation
". Пожалуйста, следуйте за верблюжьим кожухом.
2. Могу ли я создать этот xmlsoap.org xml-файл для localhost или моего собственного сервера, чтобы мой сценарий не зависел от файла на моем сервере?
Да, вы можете, но вам нужно знать и поддерживать два важных момента: -
- Оба атрибута "
namespace
" & "schemaLocation
" должны иметь тип URI в соответствии со спецификациями W3C. Поэтому ваши локальные файлы для обоих этих атрибутов также должны быть доступны в локальном браузере по протоколу HTTP.
- Если вы поддерживаете его на локальном жестком диске, то вы забываете об одном золотом правиле обновления, для Схемы файла кодировки SOAP / 1.1. Это связано с тем, что если (только если) W3C обновит этот файл в том же URI, то ваш Magento сможет его автоматически принять, если будет предоставлен общий URI; в противном случае вам потребуется снова загрузить этот обновленный файл на ваш сервер.
Кроме этих двух основных моментов, все в порядке, и вы готовы идти.
Тем не менее, я надеюсь, что я ответил на все ваши вопросы. Надеюсь, это поможет.