在尝试将XML发送到Prestashop 1.7 API时遇到这个通用问题。我的程序是ASP.NET core C#,我有序列化程序类。
我被困在这里已经有一段时间了,我的XML看起来还不错,并且API没有返回任何有意义的错误消息。
这是我的XML:
<?xml version="1.0"?>
<prestashop xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<order>
<id_address_delivery>78</id_address_delivery>
<id_address_invoice>78</id_address_invoice>
<id_cart>356</id_cart>
<id_lang>1</id_lang>
<id_currency>1</id_currency>
<id_customer>76</id_customer>
<id_carrier>1</id_carrier>
<current_state>15</current_state>
<module>free_order</module>
<invoice_number>0</invoice_number>
<invoice_date>0000-00-00 00:00:00</invoice_date>
<delivery_number>0</delivery_number>
<delivery_date>0000-00-00 00:00:00</delivery_date>
<valid>0</valid>
<date_add>2020-10-07 09:06:22</date_add>
<date_upd>2020-10-07 09:06:22</date_upd>
<shipping_number />
<id_shop_group>1</id_shop_group>
<id_shop>1</id_shop>
<secure_key />
<payment>Free order</payment>
<recyclable>0</recyclable>
<gift>0</gift>
<gift_message />
<mobile_theme>0</mobile_theme>
<total_discounts>0</total_discounts>
<total_discounts_tax_incl>0</total_discounts_tax_incl>
<total_discounts_tax_excl>0</total_discounts_tax_excl>
<total_paid>0</total_paid>
<total_paid_tax_incl>0</total_paid_tax_incl>
<total_paid_tax_excl>0</total_paid_tax_excl>
<total_paid_real>0</total_paid_real>
<total_products>0</total_products>
<total_products_wt>0</total_products_wt>
<total_shipping>0</total_shipping>
<total_shipping_tax_incl>0</total_shipping_tax_incl>
<total_shipping_tax_excl>0</total_shipping_tax_excl>
<carrier_tax_rate>0</carrier_tax_rate>
<total_wrapping>0</total_wrapping>
<total_wrapping_tax_incl>0</total_wrapping_tax_incl>
<total_wrapping_tax_excl>0</total_wrapping_tax_excl>
<round_mode>0</round_mode>
<round_type>0</round_type>
<conversion_rate>1</conversion_rate>
<reference />
<associations>
<order_rows>
<order_row>
<product_id>4</product_id>
<product_attribute_id>0</product_attribute_id>
<product_quantity>2</product_quantity>
<product_name>VITROCOOL 1003 refrigerante en contenedor de 1000 kg (cantidad en Kg)</product_name>
<product_reference>30070003</product_reference>
<product_ean13>30070003</product_ean13>
<product_isbn />
<product_upc />
<product_price>0</product_price>
<unit_price_tax_incl>0</unit_price_tax_incl>
<unit_price_tax_excl>0</unit_price_tax_excl>
</order_row>
<order_row>
<product_id>9</product_id>
<product_attribute_id>0</product_attribute_id>
<product_quantity>2</product_quantity>
<product_name>VITROCRUST 1812 en garrafas de 10 kg</product_name>
<product_reference>30070011</product_reference>
<product_ean13>30070011</product_ean13>
<product_isbn />
<product_upc />
<product_price>0</product_price>
<unit_price_tax_incl>0</unit_price_tax_incl>
<unit_price_tax_excl>0</unit_price_tax_excl>
</order_row>
<order_row>
<product_id>3</product_id>
<product_attribute_id>0</product_attribute_id>
<product_quantity>9</product_quantity>
<product_name>VITROCOOL 1003 refrigerante en bidones de 220 Kg (cantidad en Kg)</product_name>
<product_reference>30070002</product_reference>
<product_ean13>30070002</product_ean13>
<product_isbn />
<product_upc />
<product_price>0</product_price>
<unit_price_tax_incl>0</unit_price_tax_incl>
<unit_price_tax_excl>0</unit_price_tax_excl>
</order_row>
<order_row>
<product_id>9</product_id>
<product_attribute_id>0</product_attribute_id>
<product_quantity>2</product_quantity>
<product_name>VITROCRUST 1812 en garrafas de 10 kg</product_name>
<product_reference>30070011</product_reference>
<product_ean13>30070011</product_ean13>
<product_isbn />
<product_upc />
<product_price>0</product_price>
<unit_price_tax_incl>0</unit_price_tax_incl>
<unit_price_tax_excl>0</unit_price_tax_excl>
</order_row>
<order_row>
<product_id>3</product_id>
<product_attribute_id>0</product_attribute_id>
<product_quantity>1003</product_quantity>
<product_name>VITROCOOL 1003 refrigerante en bidones de 220 Kg (cantidad en Kg)</product_name>
<product_reference>30070002</product_reference>
<product_ean13>30070002</product_ean13>
<product_isbn />
<product_upc />
<product_price>0</product_price>
<unit_price_tax_incl>0</unit_price_tax_incl>
<unit_price_tax_excl>0</unit_price_tax_excl>
</order_row>
</order_rows>
</associations>
</order>
</prestashop>
这是Prestashop API期望的(空白XML):
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<order>
<id_address_delivery required="true" format="isUnsignedId"/>
<id_address_invoice required="true" format="isUnsignedId"/>
<id_cart required="true" format="isUnsignedId"/>
<id_currency required="true" format="isUnsignedId"/>
<id_lang required="true" format="isUnsignedId"/>
<id_customer required="true" format="isUnsignedId"/>
<id_carrier required="true" format="isUnsignedId"/>
<current_state format="isUnsignedId"/>
<module required="true" format="isModuleName"/>
<invoice_number/>
<invoice_date/>
<delivery_number/>
<delivery_date/>
<valid/>
<date_add format="isDate"/>
<date_upd format="isDate"/>
<shipping_number notFilterable="true" format="isTrackingNumber"/>
<id_shop_group format="isUnsignedId"/>
<id_shop format="isUnsignedId"/>
<secure_key format="isMd5"/>
<payment required="true" format="isGenericName"/>
<recyclable format="isBool"/>
<gift format="isBool"/>
<gift_message format="isMessage"/>
<mobile_theme format="isBool"/>
<total_discounts format="isPrice"/>
<total_discounts_tax_incl format="isPrice"/>
<total_discounts_tax_excl format="isPrice"/>
<total_paid required="true" format="isPrice"/>
<total_paid_tax_incl format="isPrice"/>
<total_paid_tax_excl format="isPrice"/>
<total_paid_real required="true" format="isPrice"/>
<total_products required="true" format="isPrice"/>
<total_products_wt required="true" format="isPrice"/>
<total_shipping format="isPrice"/>
<total_shipping_tax_incl format="isPrice"/>
<total_shipping_tax_excl format="isPrice"/>
<carrier_tax_rate format="isFloat"/>
<total_wrapping format="isPrice"/>
<total_wrapping_tax_incl format="isPrice"/>
<total_wrapping_tax_excl format="isPrice"/>
<round_mode format="isUnsignedId"/>
<round_type format="isUnsignedId"/>
<conversion_rate required="true" format="isFloat"/>
<reference/>
<associations>
<order_rows nodeType="order_row" virtualEntity="true">
<order_row>
<id/>
<product_id required="true"/>
<product_attribute_id required="true"/>
<product_quantity required="true"/>
<product_name read_only="true" readOnly="true"/>
<product_reference read_only="true" readOnly="true"/>
<product_ean13 read_only="true" readOnly="true"/>
<product_isbn read_only="true" readOnly="true"/>
<product_upc read_only="true" readOnly="true"/>
<product_price read_only="true" readOnly="true"/>
<unit_price_tax_incl read_only="true" readOnly="true"/>
<unit_price_tax_excl read_only="true" readOnly="true"/>
</order_row>
</order_rows>
</associations>
</order>
</prestashop>
据我所知,仅有的必填字段是标有required
的字段,但是由于这给了我500个内部服务器错误,因此我尝试尽我所能填写数据。
我同时尝试了Postman并通过我的编译发送它,但没有成功。我不知道还能尝试什么,我一直在纠正问题,但是相同的错误反复出现。