xml - 将订单发布到 Prestashop API 时出现 500 内部服务器错误
问题描述
尝试将 XML 发送到 Prestashop 1.7 API 时,我遇到了这个一般问题。我的程序是 ASP.NET 核心 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 并通过我的编译发送它,但没有成功。我不知道还能尝试什么,我一直在纠正问题,但同样的错误一遍又一遍地弹出。
解决方案
推荐阅读
- python - 在 Python 中将数据保存到 json 文件
- bash - 如何为 Bash 脚本中的所有操作提供一次密码?
- xamarin - libvlc RTSP ip camera "libvlc demux: SETUP of'video/H264' failed 403 Forbidden" Qihan IP Camera Model:QH-NW357
- windows - 在 golang 中添加和生成自定义系统调用
- r - 我在一个列表中有 4000 个数据框。想在列表的每个数据帧上使用 group_by 应用汇总函数
- ruby-on-rails - 语法错误,意外的keyword_ensure,在我的应用程序中期待keyword_end
- android - 在 RunTime 上创建 edittext 时,Edittext 隐藏在键盘下
- javascript - NavLink 中的 ActiveClassName 需要重新加载页面才能显示
- c# - ASP.NET 核心在单例服务上调用异步初始化
- python - Win32com Outlook 组联系人