2016-06-20 3 views
2

MagentoのSOAP v2 API(Magento Enterprise、ver 1.12.0.2)を使用して製品とその属性を操作しようとしていますが、私たちのストアには多くのカスタム属性があります。既定の名前、説明、価格などを除いて、SOAP v2経由でアクセスできないという追加の属性があります。私はcatalogProductUpdateメソッドを使用して属性(devdocs page here)を編集しようとしましたが、カスタム属性を編集できるように「additional_attributes」フィールドを正しく設定する方法を理解できませんでした。私はそれが正しい形式ではないというエラーを取り返しています。たとえば、音楽プロダクトがあるため、「アーティスト」フィールドの値を設定します。Powershell 3.0のSOAP構文

MagentoではWS-Iに準拠していません。

私はPowershell 3.0でnew-webserviceproxyを使用していますので、.NET Frameworkを使用していると思います。だから私の試みは、この

$proxy = new-webserviceproxy -uri $soapuri 

$sessionid = $proxy.login($username,$password) 

$array1 = @{"key"="artist";"value"="4845"} #I also tried setting the value to the name instead of the ID number (ie. "key" = "artist";"value"="Billy Joel") but that returned the same error. 

$array2 = @{"single_data" = $array1} 

$proxy.catalogproductupdate($sessionid, <a sku number>, "admin", @{"additional_attributes" = $array2}, "sku") 

のようになりますしかし、何を返すと、属性の更新は「system.collections.hashtable」を期待していなかったというエラーメッセージです。私は、単一データ/マルチデータのネストに関して、フォーマットが正しくないと思う。私が理解しているところでは、additional_attributesパラメータの配列にはその中の "single_data"パラメータが必要であり、 "single_data"内部は実際の属性リストと値でなければなりません。だから、それは3-teirハッシュテーブルのようなものです。

他の非カスタム属性を編集するためにハッシュテーブルの書式設定を使用できます。そのため、問題はハッシュテーブル自体ではありません。それはちょうど "additional_attributes"フィールドです。

ありがとうございます。

答えて

0

最終的にそれを実感してください!うまくいけば、これは将来のMagentoユーザーにいくつかの問題を救います。追加の属性を編集するには、属性のID番号と属性値のID番号を使用して(私の例では)$array1をフォーマットする必要があります。 だから$array1は次のようになります: $ array1 = @ {"key" = "200"; "value" = "4845"} "200"は、私たちのマゼンタの "アーティスト"の属性IDです。 「4845」は私が選択したい値のIDです(この場合、Billy Joel)。だから、catalogProductAttributeListを使ってこれらの値を見つけなければならず、それはすべての属性のID番号をリストします。

編集:私が今述べたようにこれを実行したとき、それは「真」(それが働くことを意味する)を返し、すぐにこれをタイプするようになったが、Magentoの製品を見たとき、更新。だから私は言葉とIDのカップル異なる組み合わせを試して、そして最終的に私が元の質問に持っている形式だった。私は先日それを試したときに、なぜそれが動作していないのか分かりませんが、今は動作すると誓っています。なぜこれが起こったのかという私の唯一の仮説は、私がcatalogProductAttributeListメソッドを実行したことであり、おそらくそれが何らかの形で私が編集する必要のあるカスタム属性の基盤を作成したということです。しかし、今はすべてうまくいっています。この答えは無効です。私にはうまくいくのは、その問題の元の例です。私はもっ​​と良い説明をしたいと思っています。

関連する問題