Я в значительной степени новичок и с 1 месяца перешел на Magento 2, я начал программировать модуль для интеграции сторонних приложений.
Я записал код, но не могу выяснить, как сделать soap вызов моей функции: есть код:
"etc / di. xml"
<preference for="Vendor\Module\Api\PriceServiceInterface" type="Vendor\Module\Model\PriceService" />
"etc / webapi. xml "
<route url="/V1/Vendor/PriceChange" method="POST">
<service class="Vendor\Module\Api\PriceServiceInterface" method="PriceChange"/>
<resources>
<resource ref="anonymous"/>
</resources>
</route>
" Api / PriceServiceInterface "
<?php
namespace Vendor\Module\Api;
interface PriceServiceInterface
{
/**
* GET for Post api
* @param string $name
* @return string
*/
public function PriceChange($name);
}
" Модель / PriceService. php "
<?php
namespace Vendor\Module\Model;
use Vendor\Module\Api\PriceServiceInterface;
class PriceService implements PriceServiceInterface
{
public function PriceChange($name) {
return json_encode("Hello, " . $name);
}
}
Когда я звоню: https://magento/soap/all?wsdl_list=1 с PostMan вызов присутствует:
"vendorModulePriceServiceV1": {
"wsdl_endpoint": "https://magento/admin/soap/all?wsdl&services=vendorModulePriceServiceV1"
},
, если я позвоню в ENdPoint https://magento/it/soap/it?wsdl&services=vendorModulePriceServiceV1, есть список xml.
В в этот момент я не знаю, что мне следует вызывать, чтобы передать параметры XML и обработать функцию.
я пробовал: https://Magnto/soap/it/V1/vendor/PriceChange Но внутри XML Body i не знаю, что я должен объявить, так что в итоге я получаю следующую ошибку:
Incorrect format of request URI or Requested services are missing
xml встроенный:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:def="https://magento/soap/default?services=vendorModulePriceServiceV1">
<s:Body>
</s:Body>
</s:Envelope>
Кто-нибудь может мне помочь разобраться? С уважением