![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-payment/Gateway/Http/Client/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Payment\Gateway\Http\Client; use Magento\Framework\Webapi\Soap\ClientFactory; use Magento\Payment\Gateway\Http\ClientInterface; use Magento\Payment\Gateway\Http\ConverterInterface; use Magento\Payment\Gateway\Http\TransferInterface; use Magento\Payment\Model\Method\Logger; /** * Class Soap * @package Magento\Payment\Gateway\Http\Client * @api * @since 100.0.2 */ class Soap implements ClientInterface { /** * @var Logger */ private $logger; /** * @var ConverterInterface | null */ private $converter; /** * @var ClientFactory */ private $clientFactory; /** * @param Logger $logger * @param ClientFactory $clientFactory * @param ConverterInterface | null $converter */ public function __construct( Logger $logger, ClientFactory $clientFactory, ConverterInterface $converter = null ) { $this->logger = $logger; $this->converter = $converter; $this->clientFactory = $clientFactory; } /** * Places request to gateway. Returns result as ENV array * * @param TransferInterface $transferObject * @return array * @throws \Magento\Payment\Gateway\Http\ClientException * @throws \Magento\Payment\Gateway\Http\ConverterException * @throws \Exception */ public function placeRequest(TransferInterface $transferObject) { $this->logger->debug(['request' => $transferObject->getBody()]); $client = $this->clientFactory->create( $transferObject->getClientConfig()['wsdl'], ['trace' => true] ); try { $client->__setSoapHeaders($transferObject->getHeaders()); $response = $client->__soapCall( $transferObject->getMethod(), [$transferObject->getBody()] ); $result = $this->converter ? $this->converter->convert( $response ) : [$response]; $this->logger->debug(['response' => $result]); } catch (\Exception $e) { $this->logger->debug(['trace' => $client->__getLastRequest()]); throw $e; } return $result; } }