@keyon.brown
Для передачи XML SOAP-запроса на PHP вы можете использовать библиотеку SoapClient. Ниже приведен пример кода, который демонстрирует этот процесс:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php // Создание экземпляра SoapClient $options = [ 'trace' => 1, // включает отладочный вывод 'cache_wsdl' => WSDL_CACHE_NONE, // отключает кэширование WSDL ]; $client = new SoapClient('http://example.com/your-soap-endpoint.wsdl', $options); // Создание XML SOAP-запроса $soapRequest = '<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <Body> <YourSOAPRequest> <Param1>Value1</Param1> <Param2>Value2</Param2> </YourSOAPRequest> </Body> </Envelope>'; // Вызов метода SOAP с передачей XML-запроса $response = $client->__doRequest($soapRequest, 'http://example.com/your-soap-endpoint', 'http://schemas.xmlsoap.org/soap/envelope/'); // Разбор XML-ответа $dom = new DOMDocument(); $dom->loadXML($response); $result = $dom->getElementsByTagName('YourSOAPResponse')->item(0)->nodeValue; // Вывод результата echo $result; ?> |
В этом примере используется библиотека SoapClient для создания экземпляра клиента SOAP. Вы можете настроить параметры client, такие как адрес WSDL-файла, использовать отладку и отключить кэширование WSDL.
XML SOAP-запрос создается в виде строки с использованием правильной структуры и пространства имен в соответствии с вашими требованиями.
Метод __doRequest используется для выполнения запроса и получения ответа в виде строки XML. Вы можете разобрать ответ, используя DOMDocument или другие методы разбора XML, в зависимости от предоставленной структуры ответа.
В конце примера результат выводится на экран, но вы можете обработать его по своему усмотрению.