Вы также можете иметь определения wsdl в локальной папке. Что вам нужно сделать, это создать собственный модуль. В пользовательском модуле вы можете добавить файлы api.xml
, wsdl.xml
и wsi.xml
внутри etc
папки.
Ваш wsdl.xml
файл должен быть принят во внимание при создании фактического wsdl. Magento объединяет все wsdl.xml
файлы из всех модулей, которые имеют один (то же самое касается api.xml
и wsi.xml
). Эти файлы объединены, поэтому вам не нужен полный XML-файл из Mage_Catalog
модели. Вы можете добавить только те части, которые вам нужны, просто убедитесь, что вы придерживаетесь того же пути.
Вот простой пример. В wsdl.xml
от Mage_Catalog
есть этот кусок кода:
<definitions...>
<types>
<schema ...>
<complexType name="catalogProductEntity">
<all>
<element name="product_id" type="xsd:string"/>
<element name="sku" type="xsd:string"/>
<element name="name" type="xsd:string"/>
<element name="set" type="xsd:string"/>
<element name="type" type="xsd:string"/>
<element name="category_ids" type="typens:ArrayOfString"/>
<element name="website_ids" type="typens:ArrayOfString"/>
</all>
</complexType>
</schema>
</types>
</definitions>
И вы хотите добавить другое поле к этому типу, все что вам нужно сделать в файле wsdl.xml из вашего пользовательского модуля, это:
<definitions...>
<types>
<schema ...>
<complexType name="catalogProductEntity">
<all>
<element name="custom_attribute" type="xsd:string"/>
</all>
</complexType>
</schema>
</types>
</definitions>
(добавьте атрибуты для определений тегов и схемы, которые я заменил на «...»).