2011-01-05 9 views
3

Webサービスリクエスト(soap v2)でMagentoのカテゴリを作成したいと思います。 私はMagento 1.4.2.0を使い、私はmagentos soap apiのv2と言っていました。Magentoはsoap v2でカテゴリを作成します

私は応答として次のエラーを取得するリクエストを送信する場合:xmlタグ「include_in_menuは」要求では利用できないことを

<?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> 

問題があります、。 このタグを手動で追加すると無視されます。

soap v.1を使用したくない場合はどうすればよいですか?

PS LStrike

挨拶:これは私の要求です:

<?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> 

答えて

5

あなたは4つの方法があります。

ファースト - ライン後の変更 アプリ/コード/コア/メイジ/カタログの/ etc/wsdl.xml 188は

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

を追加セカンド - APIモデルの変更ロジック アプリ/コード/コア/メイジ/Catalog/Model/Category/Api/V2.php コードでこの属性を新しい オブジェクトに追加します。

サード - Magentoのにバグレポートや 待ち、それが(近くに1-2 月)

第四に解決されるまで - そして、少なくともあなたがちょうど アプリ/コード/コア/メイジを上書き 拡張機能を作成/ Catalog/etc/wsdl.xml WSDLファイルにパラメータを追加します。追加のパラメータについては の 拡張APIモデルを変更してください。

私の提案は4番目の方法を使用します。

+0

うわー、これは速かった;)あなたの答えをありがとう、私はそれを試してみます。 – LStrike

+1

4番目の方法を使い、次のMagentoのリリースを1〜2ヶ月間待つ - このバグに対する修正が含まれています。 –

+1

私は1.5でこのエラーが発生しています...あなたは修正が次のリリースにあったと主張していますか? – dmose

関連する問題