웹서비스
- 네트워크 상으로 운용가능한 상호작용을 위해 고안된 소프트웨어 시스템.
- WSDL(Web Services Description Language)문서로 정의됨.
- 다른 시스템들은 SOAP메시지를 이용하여 웹서비스를 통해 상호작용함.
- SOAP는 XML 직렬화를 거쳐 HTTP를 이용하여 전성됨.
- 일련의 기능들을 제공하며 메시지를 보내고 받는 에이전트에 의해 구현되는 추상적인 자원.
- 웹서비스 제공자 개체 : 제공자 에이전트를 이용하여 웹 서비스의 기능들을 제공
- 웹서비스 요청자 개체 : 요청자 ㄱ\에이전트를 통해 웹 서비스의 기능들을 사용함.
- 웹서비스의 기술 : XML. SOAP, WSDL
- XML : 데이터 전송을 위한 표준 형식
웹서비스의 요청과 응답은 XML메시지로서 전달됨.
XML문서에 기술될 수 있는 엘리먼트들과 속성들은 XML 스키마에 기술 되어 잇음.
SOAP: XML 메시지의 패키징과 상호교환을 위한 표준 프레임워크를 제공함.
SOAP 함수(PHP)
메소드 |
설명 |
SoapServer->__construct( mixed wsdl [, array options] ) |
SoapServer 객체를 생성한다. wsdl 파라미터에는 WSDL의 URI를 지정한다. SOAP 버전과 같은 SoapServer 옵션은 options 배열에 지정할 수 있다. |
SoapServer->addFunction( mixed functions ) |
SOAP 요청을 처리할 하나 이상의 PHP 함수를 추가한다. 추가할 함수가 한 개일 경우에는 문자열로 추가할 수 있다. 하나 이상의 함수는 배열로 추가한다. |
SoapServer->fault() |
오류를 의미하는 SoapServer 장애 |
SoapServer->getFunctions() |
함수의 목록을 반환한다. |
SoapServer->handle() |
SOAP 요청을 처리하며, 필요한 함수를 호출하고 응답을 돌려보낸다. |
SoapServer->setClass(string class_name [, mixed args [, mixed ...]] ) |
SOAP 요청을 처리할 클래스를 지정하며, 지정된 클래스로부터 모든 메소드를 내보낸다. args는 기본 클래스 생성자에 의해 사용된다. |
SoapHeader->__construct() |
SOAP 헤더를 생성한다. |
SoapClient->__soapCall( string function_name, array arguments [, array options [, mixed input_headers [, array &output_headers]]] ) |
SOAP 함수를 호출한다. |
SoapClient->__doRequest() |
SOAP 요청을 수행한다. |
SoapClient->__getFunctions() |
SOAP 함수의 목록을 반환한다. |
SoapClient->__getTypes() |
SOAP 타입의 목록을 반환한다. |
WSDL : http://schemas.xmlsoap.org/wsdl/ 네임스페이스에 있는 오퍼레이션을 수행하는 종단의 집합. 웹서비스를 서술하는 데 사용되는 XML문서.
웹 서비스가 제공하는 오퍼레이션들을 정의함.
WSDL 엘리먼트
엘리먼트 |
설명 |
definitions |
웹 서비스에 의해 교환되는 메시지의 자료형에 대한 정의를 지정한다. 권장되는 타입 시스템은 XML 스키마이다. |
message |
전송되는 데이터를 정의한다. 메시지는 하나 혹은 그 이상의 파트(part)들로 이루어진다. 파트는 타입과 연관된다. |
portType |
오퍼레이션의 집합과 각 오퍼레이션에 대한 입출력 메시지를 정의한다. |
operation |
서비스에 의해 지원되는 동작(메소드). 각 오퍼레이션들은 입출력 메시지로 이루어진다. |
input |
요청에 대한 메시지 형식을 지정한다. |
output |
응답에 대한 메시지 형식을 지정한다. |
binding |
오퍼레이션에 대한 메시지 형식과 프로토콜 세부사항 및 특정 portType에 대한 메시지를 정의한다. |
service |
포트들의 집합을 지정한다. |
port |
바인딩을 통해 주소를 연결하여 종단을 정의한다. |
웹서비스에 의해 제공되는 오퍼레이션(메소드)과 XML메시지 형식을 기술함.
XML-RPC(remote procedure call) : 명세이자 네트워크상으로 원격 프로시저 호출을 하는 애플리케이션을 위해 구현체의 집합. 원격 프로시저 호출은 HTTP를 전송 매개체로, XML을 인코딩으로 이용하여 이루어짐.
NuSOAP
http://jmnote.com/wiki/NuSOAP_%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0
http://jmnote.com/wiki/NuSOAP_%EA%B8%B0%EB%B3%B8_%EC%9D%B8%EC%A6%9D_%EC%A0%81%EC%9A%A9
http://jmnote.com/wiki/PHP_SoapClient_%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0