[php] cURL을 사용하여 SOAP 요청을 보내는 방법은?
  1. cURL을 사용하여 POST 요청을 보냅니다. SOAP 요청은 HTTP POST로 전송되므로 cURL을 사용하여 HTTP POST를 설정해야 합니다.

     $url = "https://example.com/webservice";  // 웹 서비스 URL
     $xml_request = '<?xml version="1.0" encoding="UTF-8"?>
     <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
     xmlns:ns1="http://example.com/namespace">
         <SOAP-ENV:Body>
             <ns1:yourSOAPRequest>...</ns1:yourSOAPRequest>  <!-- 여기에 실제 SOAP 요청을 추가합니다 -->
         </SOAP-ENV:Body>
     </SOAP-ENV:Envelope>';
    
     $headers = array(
         "Content-type: text/xml;charset=utf-8",
         "Accept: text/xml",
         "Cache-Control: no-cache",
         "Pragma: no-cache",
         "SOAPAction: \"\"", // 웹 서비스의 SOAPAction
         "Content-length: ".strlen($xml_request)  // 요청의 길이
     );
    
     $ch = curl_init();  // cURL 세션 초기화
     curl_setopt($ch, CURLOPT_URL, $url);  // URL 설정
     curl_setopt($ch, CURLOPT_POST, 1);  // POST 요청 설정
     curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_request);  // POST 데이터 설정
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);  // 헤더 설정
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // 응답을 반환하도록 설정
    
     $response = curl_exec($ch);  // cURL 실행
     if($response === false) {
         echo 'cURL Error: ' . curl_error($ch);
     } else {
         echo 'Response: ' . $response;
     }
    
     curl_close($ch);  // cURL 세션 종료
    
  2. 위 코드에서 $url은 SOAP 웹 서비스의 URL로, $xml_request는 실제 SOAP 요청 XML입니다. 이 예시에서는 $headers 배열을 사용하여 필요한 헤더를 설정하였습니다.

이렇게 하면 cURL을 사용하여 SOAP 요청을 보낼 수 있습니다.