Dove si inseriscono i file WSDL modificati per l'API per sovrascrivere le definizioni principali?

magento.stackexchange https://magento.stackexchange.com/questions/1330

  •  16-10-2019
  •  | 
  •  

Domanda

Abbiamo aggiornato le definizioni WSDL standard per supportare gli attributi del prodotto in bundle per SKU_TYPE e Price_Type. Ho provato a inserire i file WSDL e WSI aggiornati app/code/local/Mage/Catalog/etc/, ma Magento non li carica. Non voglio lasciarli nell'area centrale, ma sembra essere l'unico posto in cui posso ottenere Magento a trovarli.

Eventuali suggerimenti?

È stato utile?

Soluzione

Puoi avere anche le definizioni WSDL nella cartella locale. Quello che devi fare è creare un modulo personalizzato. Nel tuo modulo personalizzato puoi aggiungere i file api.xml, wsdl.xml e wsi.xml dentro il etc cartella.

Tuo wsdl.xml Il file deve essere preso in considerazione durante la costruzione del WSDL effettivo. Magento si fonde tutti wsdl.xml file da tutti i moduli che ne hanno uno (lo stesso vale per api.xml e wsi.xml). Questi file vengono uniti, quindi non hai bisogno del file XML completo da Mage_Catalog modello. Puoi aggiungere solo i pezzi di cui hai bisogno, assicurati solo di mantenere lo stesso percorso.

Qui c'è un semplice esempio. In wsdl.xml da Mage_Catalog C'è questo pezzo di codice:

<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>

E vuoi aggiungere un altro campo a questo tipo, tutto ciò che devi fare nel tuo file wsdl.xml dal tuo modulo personalizzato è questo:

    <definitions...>
        <types>
            <schema ...>
                <complexType name="catalogProductEntity">
                    <all>
                        <element name="custom_attribute" type="xsd:string"/>
                    </all>
                </complexType>
            </schema>
        </types>
    </definitions>

(Aggiungi gli attributi per le definizioni dei tag e lo schema con cui ho sostituito '...').

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top