2

当我尝试在我的 C# 应用程序中使用 Magento 产品下载 web 服务调用时。我收到一些内容类型不匹配错误。请你帮助我好吗?

这是我的代码:

 using (Mage_Api_Model_Server_V2_HandlerPortTypeClient proxy = new Mage_Api_Model_Server_V2_HandlerPortTypeClient())
            {
                string sessionId = proxy.login("stalin", "12345678");
                customerCustomerEntity[] customers = proxy.customerCustomerList(sessionId, new filters());
                foreach (customerCustomerEntity customer in customers)
                {
                    Console.WriteLine(String.Format("{0}. {1} {2}", customer.customer_id, customer.firstname, customer.lastname));
                }
                proxy.endSession(sessionId);
            }

这是我的 Web 配置详细信息:

  <system.serviceModel>
<bindings>
  <basicHttpBinding>
    <binding name="Mage_Api_Model_Server_V2_HandlerBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="9999999" maxBufferPoolSize="524288" maxReceivedMessageSize="9999999" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
        <message clientCredentialType="UserName" algorithmSuite="Default"/>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>
<client>
  <endpoint address="http://<my server ip>/magento-1.7.0.2/index.php/api/v2_soap/index/" binding="basicHttpBinding" bindingConfiguration="Mage_Api_Model_Server_V2_HandlerBinding" contract="VPMagento.Mage_Api_Model_Server_V2_HandlerPortType" name="Mage_Api_Model_Server_V2_HandlerPort"/>
</client>

错误信息是:

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>'.

请问这个问题有什么解决办法吗?否则让我知道如何在 C# 中使用 Magento API。

4

0 回答 0