Magento2肥皂服务不起作用

时间:2017-03-21 09:17:14

标签: soap magento2

我尝试创建一个soap服务,但不知何故,它的wsdl url无法正常工作。以下是代码: - API / CustomapitInterface.php

namespace W3solver\Customapi\Api;

interface CustomapiInterface
{
    /**
     * Returns greeting message to user
     *
     * @api
     * @param string $name Users name.
     * @return string Greeting message with users name.
     */
    public function name($name);
}

模型/ Customapi.php

    <?php
namespace W3solver\Customapi\Model;
use W3solver\Customapi\Api\CustomapiInterface;

class Customapi implements CustomapiInterface
{
    /**
     * Returns greeting message to user
     *
     * @api
     * @param string $name Users name.
     * @return string Greeting message with users name.
     */
    public function name($name) {
        return "Hello, " . $name;
    }
}

等/ di.xml

 <?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="W3solver\Customapi\Api\CustomapiInterface" type="W3solver\Customapi\Model\Customapi" />
</config>

等/ module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="W3solver_Customapi" setup_version="1.0.0" />
</config>

等/ webapi.xml

<?xml version="1.0"?>
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
    <route url="/V1/customapi/name/:name" method="GET">
        <service class="W3solver\Customapi\Api\CustomapiInterface" method="name"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
</routes>

我是通过使用来自http://inchoo.net/magento/api-magento/magento-2-custom-api/的引用来创建的。我没有出错。

以下是我尝试使用的网址: - http://magento2.local/index.php/soap/default?wsdl&services=w3solverCustomapiV1

1 个答案:

答案 0 :(得分:1)

Magento 2默认禁用对匿名API的API访问,您需要从后端管理面板启用此功能。

要停用此功能,请登录管理面板,然后导航至商店&gt;配置&gt;服务&gt; Magento Web API&gt; Web API安全性。然后从“允许匿名访客访问”菜单中选择“是”。

您可以找到有关开发指南here的更多信息。