C# から Magento をプログラミングしようとしています。最初のステップで、Visual Studio のプロジェクトにサービス参照を追加しました。しかし、私は MagentoService クラスを持っていません。wdsl ファイルをダウンロードし、Visual Studio コマンド ラインから wsdl.exe で変換すると、それが得られます。したがって、サービス参照の場合、私のコードは次のようになります。
MagentoSer.Mage_Api_Model_Server_HandlerPortTypeClient client = new MagentoSer.Mage_Api_Model_Server_HandlerPortTypeClient();
var session= client.login("id", "password");
client.call(session, "catalog_category.tree", null);
client.endSession(session);
すべてが正常に動作します。しかし、私が使用しようとしているとき
MagentoSer.Mage_Api_Model_Server_HandlerPortTypeClient client = new MagentoSer.Mage_Api_Model_Server_HandlerPortTypeClient();
var session= client.login("id", "password");
client.call(session, "product_stock.list", "qqaz");
client.endSession(session);
例外が発生する「操作 'call' の応答メッセージの本文を逆シリアル化中にエラーが発生しました」 指定された型が認識されませんでした: name='Map', namespace=' " rel="nofollow noreferrer">http://xml.apache.org/xml-soap', at ."}
PHP からテストすると、すべて正常に動作します。私はこの2つの記事を見つけました http://codeblow.com/questions/php-web-service-in-c-invoke-function-returns-null/ PHP Web Service in C# : Invoke() function returns null but I can'全体像をつかめません。
オブジェクト引数に関するものはありますか
public object call(string sessionId, string resourcePath, object args);
または関数からの出力について?後もう一つ。Web を検索すると、奇妙な配列 (complexFilter など) が使用されているコードの例 (Magneto ヘルプ) が見つかりました。Visual Studio 経由で wsdl ファイルに接続する場合、どうすれば取得できますか? これは、それらを私に公開するための Magento 管理者権限にありますか?
よろしくお願いします
プシェミスワフ・スタニシェフスキ