[php] PHP에서의 JSON과 SOAP 웹 서비스 연동

웹 애플리케이션을 개발할 때, 다른 시스템과의 데이터 통신을 위해 JSON 또는 SOAP 웹 서비스를 사용할 수 있습니다. 이번 포스트에서는 PHP에서 JSON과 SOAP 웹 서비스를 어떻게 연동하는지 알아보겠습니다.

JSON 웹 서비스 연동

JSON(JavaScript Object Notation)은 경량 데이터 교환 형식으로, 데이터를 주고받는 데 매우 효과적입니다. PHP에서는 내장된 json_encodejson_decode 함수를 사용하여 JSON 데이터를 만들고 해석할 수 있습니다.

아래는 JSON 웹 서비스를 요청하는 PHP 코드의 간단한 예시입니다.

<?php
$url = 'https://example.com/api/data';
$data = ['key1' => 'value1', 'key2' => 'value2'];

$options = [
    'http' => [
        'header'  => "Content-type: application/json",
        'method'  => 'POST',
        'content' => json_encode($data)
    ]
];

$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result, true);

var_dump($response);
?>

위 코드에서는 file_get_contents 함수를 사용하여 JSON 데이터를 가져와서 json_decode 함수를 사용하여 PHP 배열로 변환하고 있습니다.

SOAP 웹 서비스 연동

SOAP(Simple Object Access Protocol)은 XML 기반의 프로토콜로, 웹 서비스 간의 상호작용을 위한 표준화된 방법을 제공합니다. PHP에서는 SOAP 클라이언트가 내장되어 있어, 손쉽게 SOAP 웹 서비스를 호출할 수 있습니다.

아래는 SOAP 웹 서비스를 요청하는 PHP 코드의 간단한 예시입니다.

<?php
$wsdl = "https://example.com/api/soap?wsdl";
$client = new SoapClient($wsdl, array('trace' => 1));

$param = ['value1', 'value2'];
$response = $client->someFunction($param);

var_dump($response);
?>

위 코드에서는 SoapClient 클래스를 사용하여 WSDL 파일을 읽어들이고, 해당 웹 서비스의 메소드를 호출하는 예시를 보여주고 있습니다.

마치며

이처럼 PHP에서는 JSON과 SOAP 웹 서비스를 간단하게 연동할 수 있습니다. 애플리케이션에서 필요한 데이터 통신 형식에 따라 JSON 또는 SOAP을 선택하여 효율적으로 웹 서비스를 활용할 수 있습니다.

더 많은 정보를 원하시면 PHP 공식 문서를 참고하시기 바랍니다.