将订单发布到Prestashop API时出现500内部服务器错误

问题描述

在尝试将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并通过我的编译发送它,但没有成功。我不知道还能尝试什么,我一直在纠正问题,但是相同的错误反复出现。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)