Конверт SOAP — это стандартный формат, используемый в веб-службах для инкапсуляции отправляемых данных. В PHP вы можете взаимодействовать со службами SOAP, используя различные методы. Вот несколько примеров:
-
Использование класса SoapClient:
$wsdl = 'http://example.com/soap/service.wsdl'; $client = new SoapClient($wsdl); // Call a SOAP method $result = $client->methodName($param1, $param2); // Process the response echo $result; -
Использование класса SoapServer для создания сервера SOAP:
class MyService { public function methodName($param1, $param2) { // Process the request and return a result return $result; } } $wsdl = 'http://example.com/soap/service.wsdl'; $server = new SoapServer($wsdl); $server->setClass('MyService'); $server->handle(); -
Отправка запроса SOAP с использованием cURL:
$soapEndpoint = 'http://example.com/soap/service.php'; $soapRequest = '<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="..."> <SOAP-ENV:Body> <ns1:methodName> <param1>value1</param1> <param2>value2</param2> </ns1:methodName> </SOAP-ENV:Body> </SOAP-ENV:Envelope>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $soapEndpoint); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: text/xml', 'SOAPAction: methodName' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, $soapRequest); $response = curl_exec($ch); curl_close($ch); // Process the SOAP response echo $response;
Эти примеры демонстрируют различные подходы к работе с SOAP в PHP. Не забудьте заменить methodName, param1, param2и конечную точку SOAP фактическим именем метода, значениями параметров и URL-адресом службы.