Magento SOAP API请求总是被重定向[Magento 1.9.3.3]

时间:2018-03-24 06:12:40

标签: c# magento soap magento-1.9

我正在开发C#应用程序以与Magento进行通信。当我尝试登录以获取会话ID来执行操作时。我在下面使用C#代码。

我的登录代码

using (MagentoService mservice = new MagentoService())
    {    
        loginResponse = mservice.login("admin", "admin123");
    }

它总是抛出这个错误

System.ServiceModel.FaultException: 'SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://admin.mywebsite.com/index.php/api/v2_soap/index/?wsdl=1' : Premature end of data in tag html line 7

因为我的API请求每次都会被重定向到网站的主页。

请点击此链接获取此错误的详细信息:Cannot login Magento service using C# [Magento 1.9.3.3] Error: Premature end of data in tag html line 7

有没有办法阻止我的API请求被重定向?还可以在不干扰Magento设置的情况下从客户端进行操作吗?

2 个答案:

答案 0 :(得分:0)

我要求服务器所有者禁用API请求端点URL(https://admin.mywebsite.com/index.php/api/v2_soap/index/)的重定向,一切正常

答案 1 :(得分:0)

在Magento服务器端,这是我必须在Apache vhost配置中设置的内容:

RewriteCond %{HTTP_HOST} ^admin\.magento\.biz$ [NC]
RewriteCond %{REQUEST_URI} /api/
RewriteRule ^ https://magento.biz%{REQUEST_URI} [L,R]

这似乎是一个已知的Magento错误,其中有两个相互冲突的参数:

  • 自动重定向到基本网址
  • 在子域中使用自定义管理URL