1

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 管理者権限にありますか?

よろしくお願いします

プシェミスワフ・スタニシェフスキ

4

1 に答える 1

0

Magento 管理パネルで、WSI コンプライアンス モードをオンにしてみます。

于 2012-10-17T13:33:23.400 に答える