Vous pouvez également avoir des définitions wsdl dans le dossier local. Ce que vous devez faire est de créer un module personnalisé. Dans votre module personnalisé, vous pouvez ajouter les fichiers api.xml
, wsdl.xml
et wsi.xml
à l'intérieur du etc
dossier.
Votre wsdl.xml
fichier doit être pris en considération lors de la construction du wsdl réel. Magento fusionne tous les wsdl.xml
fichiers de tous les modules qui en ont un (il en va de même pour api.xml
et wsi.xml
). Ces fichiers sont fusionnés, vous n'avez donc pas besoin du fichier xml complet du Mage_Catalog
modèle. Vous pouvez ajouter uniquement les pièces dont vous avez besoin, assurez-vous simplement de garder le même chemin.
Voici un exemple simple. Dans wsdl.xml
de Mage_Catalog
là est ce morceau de code:
<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>
Et vous voulez ajouter un autre champ à ce type, tout ce que vous avez à faire dans votre fichier wsdl.xml à partir de votre module personnalisé est le suivant:
<definitions...>
<types>
<schema ...>
<complexType name="catalogProductEntity">
<all>
<element name="custom_attribute" type="xsd:string"/>
</all>
</complexType>
</schema>
</types>
</definitions>
(ajoutez les attributs pour les définitions de balises et le schéma que j'ai remplacés par '...').