您在哪里为API放置修改的WSDL文件以覆盖核心定义?
题
我们已经更新了标准WSDL定义,以支持SKU_TYPE和PRICE_TYPE的捆绑产品属性。我尝试将更新的WSDL和WSI文件放入 app/code/local/Mage/Catalog/etc/
,
有什么建议么?
解决方案
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>
(添加我用“ ...”代替的标签定义和模式的属性)。