본문 바로가기

웹서비스

SOAP의 개념 (간단예제)

출처 : http://www.okjsp.pe.kr/seq/76532

SOAP의 개념

1. Request(요청)는 이렇게 합니다.

POST /mysite/test.jsp HTTP/1.1

Host: xxx.xxx.co.kr

Content-Type: text/xml

Charset="KSC5601"

Content-Length:

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http:schemas.xml.soap.org/soap/envelope/"

SOAP-ENV:ENCODINGStyle="http://schemas.xmlsoap.org/soap/ENCODING/">

<SOAP-ENV:BODY>

<m:testSoap xmlns:m="my-namespace">

<user_name>tester</user_name>

<nick_name>abysslover</nick_name>

</m:testSoap>

</SOAP-ENV:BODY>

</SOAP-ENV:Envelope>

2. 응답으로 오는 내용

HTTP/1.1 200 OK

Content-Type: text/xml

Charset="KSC5601"

Content-Length:

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

SOAP-ENV:ENCODINGStyle="http://schemas.xmlsoap.org/soap/ENCODING/">

<SOAP-ENV:BODY>

<m:testSoapResponse xmlns:m="my-namespace">

<result>Your name is 임은천</result>

</m:testSoapResponse>

</SOAP-ENV:BODY>

</SOAP-ENV:Envelope>

3. 위의 내용을 실제로 전송해 보자.(자바 스크립트)

var testSoapClient = new ActiveXObject("Microsoft.XMLDOM");

var msg;

msg = '<?xml version="1.0"?';

msg += '

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http:schemas.xml.soap.org/soap/envelope/"

SOAP-ENV:ENCODINGStyle="http://schemas.xmlsoap.org/soap/ENCODING/">

<SOAP-ENV:BODY>

<m:testSoap xmlns:m="my-namespace">

<user_name>tester</user_name>

<nick_name>abysslover</nick_name>

</m:testSoap>

</SOAP-ENV:BODY>

</SOAP-ENV:Envelope>';

testSoapClient .loadXML(xml);

var msgSender = new ActiveXObject("Microsoft.XMLHTTP");

msgSender.open("POST", "/mysite/test.jsp", false);

msgSender.setRequestHeader("SOAPMethodName", "testSoap");

msgSender.setRequestHeader("Content-Type", "text/xml-SOAP");

msgSender.send(msg.xml);

var receiver = new ActiveXObject("Microsoft.XMLDOM");

receiver.loadXML(msg.responseXML.xml);

'웹서비스' 카테고리의 다른 글

[JSP] XML 통신 예제  (0) 2010.06.30
[JSP] XML 읽기  (0) 2010.06.30
[JAVA] XML-RPC  (0) 2010.06.30
HTTP/XML 기반  (0) 2010.06.30
[Java] XML Validation 비활성화 하기  (0) 2010.06.29