@dmose вы сообщили об этой ошибке? Я не работаю с компанией MagentoCommerce.

у создать категории в Magento с помощью запроса веб-сервиса (soap v2). Я использую Magento 1.4.2.0 и, как я уже сказал, v2 magentos soap api.

Если я отправляю запрос, в ответ я получаю следующую ошибку:

<?xml version="1.0" encoding="UTF-8" ?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <SOAP-ENV:Body>
 <SOAP-ENV:Fault>
  <faultcode>103</faultcode> 
  <faultstring>Attribute "include_in_menu" is required.</faultstring> 
  </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Проблема в том, что тег XML «include_in_menu» не доступен в запросе. Если я добавлю этот тег вручную, он будет проигнорирован.

Что я могу сделать, если я не хочу использовать мыло v.1?

Привет LStrike

PS: это моя просьба:

<?xml version="1.0" encoding="UTF-8"?><?xe.source ../../../Common/Data/login_response.xml#Envelope?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" media-type="text/xml"></xsl:output>
  <xsl:template match="/">
    <soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:urn="urn:Magento" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Header></soapenv:Header>
      <soapenv:Body>
        <urn:catalogCategoryCreate soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          <sessionId xsi:type="xsd:string">
            <xsl:value-of select="soapenv:Envelope/soapenv:Body/urn:loginResponse/loginReturn"></xsl:value-of>
          </sessionId>
          <parentId xsi:type="xsd:int">
            <xsl:value-of select="'3'"></xsl:value-of>
          </parentId>
          <categoryData xsi:type="urn:catalogCategoryEntityCreate">
            <!--You may enter the following 19 items in any order-->
            <!--Optional:-->
            <name xsi:type="xsd:string">
              <xsl:value-of select="'TestKategorie'"></xsl:value-of>
            </name>
            <!--Optional:-->
            <is_active xsi:type="xsd:int">
              <xsl:value-of select="'1'"></xsl:value-of>
            </is_active>
            <!--Optional:-->
            <position xsi:type="xsd:int"></position>
            <!--Optional:-->
            <available_sort_by soapenc:arrayType="xsd:string[2]" xsi:type="ns1:ArrayOfString">
              <item xsi:type="xsd:string">name</item>
              <item xsi:type="xsd:string">price</item>
            </available_sort_by>
            <!--Optional:-->
            <custom_design xsi:type="xsd:string"></custom_design>
            <!--Optional:-->
            <custom_design_apply xsi:type="xsd:int"></custom_design_apply>
            <!--Optional:-->
            <custom_design_from xsi:type="xsd:string"></custom_design_from>
            <!--Optional:-->
            <custom_design_to xsi:type="xsd:string"></custom_design_to>
            <!--Optional:-->
            <custom_layout_update xsi:type="xsd:string"></custom_layout_update>
            <!--Optional:-->
            <default_sort_by xsi:type="xsd:string"><xsl:value-of>name</xsl:value-of></default_sort_by>
            <!--Optional:-->
            <description xsi:type="xsd:string"></description>
            <!--Optional:-->
            <display_mode xsi:type="xsd:string"></display_mode>
            <!--Optional:-->
            <is_anchor xsi:type="xsd:int"></is_anchor>
            <!--Optional:-->
            <landing_page xsi:type="xsd:int"></landing_page>
            <!--Optional:-->
            <meta_description xsi:type="xsd:string"></meta_description>
            <!--Optional:-->
            <meta_keywords xsi:type="xsd:string"></meta_keywords>
            <!--Optional:-->
            <meta_title xsi:type="xsd:string"></meta_title>
            <!--Optional:-->
            <page_layout xsi:type="xsd:string"></page_layout>
            <!--Optional:-->
            <url_key xsi:type="xsd:string"></url_key>

            <!-- selbst definierte Felder -->
            <include_in_menu xsi:type="xsd:int">1</include_in_menu>


          </categoryData>
          <storeView xsi:type="xsd:string">
            <xsl:value-of select="'default'"></xsl:value-of>
          </storeView>
        </urn:catalogCategoryCreate>
      </soapenv:Body>
    </soapenv:Envelope>
  </xsl:template>
</xsl:stylesheet>

Ответы на вопрос(1)

Решение Вопроса

Во-первых, измените app / code / core / Mage / Catalog / etc / wsdl.xml после добавления строки 188

<element name="include_in_menu" type="xsd:int" minOccurs="0" />

Второе - изменить логику приложения Api Model / code / core / Mage / Catalog / Model / Category / Api / V2.php в коде и добавить этот атрибут в новый объект.

Третье - сообщить об ошибке в magento и дождаться ее устранения (около 1-2 месяцев)

Четвертое. И хотя бы создайте расширение, в котором вы просто переопределяете app / code / core / Mage / Catalog / etc / wsdl.xml, добавляете свои параметры в файл WSDL, меняете модель API в ваших расширениях для дополнительных параметров.

Мое предложение использовать 4-й способ.

 LStrike05 янв. 2011 г., 14:28
Вау, это было быстро;) Спасибо за ваш ответ, я попробую.
 Andrey Korolyov17 мар. 2011 г., 11:56
@dmose вы сообщили об этой ошибке? Я не работаю с компанией MagentoCommerce.
 Andrey Tserkus06 янв. 2011 г., 11:43
Лучше использовать 4-й способ и ждать следующего релиза Magento через 1-2 месяца - исправление для этой ошибки включено в него.
 dmose14 мар. 2011 г., 20:34
Я все еще получаю эту ошибку в 1.5 ... вы утверждаете, что исправление было в следующем выпуске?

Ваш ответ на вопрос