1

これは、Magento api を使用する最初の試みです。C#.NET を使用して Magento ストアに接続しようとしています。.NET Framework 3.5 を使用しています。AddServiceReference を使用して、以下のリンクを追加しました。

http://www.MyServer.com/index.php/api/v2_soap?wsdl=1

また、システム -> 構成 -> Magento Core API でWS-I 互換性を「はい」に設定します。

しかし、自分のページでサービスを参照すると、サービスのオブジェクトを生成できません。接続する「Mage_Api_Model_Server_Wsi_HandlerPortType」オブジェクトを探しています。

マイマジェントサービス。

(MyMagentoService の後に . を押してもオブジェクトが表示されません。理由はわかりません。)

システム -> 構成 -> Magento Core API -> WS-I 互換性を NO に設定すると、以下のようにオブジェクトを取得できます。

MagentoService.Mage_Api_Model_Server_V2_HandlerPortTypeClient ctx = new         Mage_Api_Model_Server_V2_HandlerPortTypeClient(); 
string sessionID = ctx.login("Username", “Password");

しかし、その後 ctx.login はエラーをスローします

The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). 
If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. 
The first 361 bytes of the response were: ‘<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> 

<SOAP-ENV:Body> 

<SOAP-ENV:Fault> 

<faultcode>0</faultcode> 

<faultstring>SOAP extension is not loaded.</faultstring> 

</SOAP-ENV:Fault> 

</SOAP-ENV:Body> 

</SOAP-ENV:Envelope>'

このエラーについては、WS-I 互換性を「YES」に設定する必要があるため、Google で検索すると回答が得られます。どうすればいいのかわからない。:(

4

1 に答える 1

2

同じ問題があり、PHP SOAP 拡張機能のインストールを解決しました。

このページを参照します: {YOUR_MAGENTO_SHOP_URL}/api/v2_soap

SOAP の使用法について詳しく説明する XML ドキュメントが提供されます。「0 Unable to load Soap extension on the server」または「0 SOAP extension is not loaded」というメッセージが表示される場合は、Web サーバーに SOAP サポートがありません。

詳細はこちら: https://storeya.zendesk.com/entries/20405542-Api-Error-0-SOAP-extension-is-not-loaded

于 2013-12-19T13:58:51.317 に答える