C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74961] Re:Indy Soap이 무엇인가요?
빌더(TWx) [builder] 3333 읽음    2018-06-08 15:08
뷰트 님이 쓰신 글 :
: 안녕하세요
:
: web service통신관련 하여 개발 중에 있습니다.
:
: idhttp->get / idhttp->post로 명령을 주고 받을려고 준비중에 있습니다.
:
: 그런데
:
: WEB SERVICE가 SOAP이라는 것이 있다는데,
:
: 정확히 SOAP이 무엇인지 감이 잡히지 않습니다.
:
: 그리고
:
: Idhttp->post로 명령을 던지때 알려준 명령을 통체로 만들어 던지는데
:
:
: 이것을
:
: soap을 이용 하면 먼가 된다는 말이 있는데 이것에 대해서 이해를 못하겠습니다.
:
:
: 이것에 대해서 설명 부탁 드립니다.
:
:
:
: 제가 받은 프로토콜을 통체로 던지는 구문
:     ASendMessage->Add("soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tem=\"http://tempuri.org/\">");
:     ASendMessage->Add("<soapenv:Header>");
:     ASendMessage->Add("<ns:Client>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:Host>" + AInfo->SendHostName  +"</tem:Host>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:Application>" + AInfo->SendAppliName + "</tem:Application>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:Version>" + AInfo->SendVersion + "</tem:Version>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("</ns:Client>");
:     ASendMessage->Add("</soapenv:Header>");
:     ASendMessage->Add("<soapenv:Body>");
:     ASendMessage->Add("<tem:WS_WS_IMO_VALID_AVIT>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:LotNumber>" + AInfo->SendLotNumber  + "</tem:LotNumber>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:IBarcode1>" + AInfo->SendIBarcode1  + "</tem:IBarcode1>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:IBacrode2>" + AInfo->SendIBarcode2  + "</tem:IBacrode2>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:IBarcode3>" + AInfo->SendIBarcode3  + "</tem:IBarcode3>");
:     ASendMessage->Add("<!--Optional:-->");
:     ASendMessage->Add("<tem:isRecreen>" + AInfo->SendIRescreen  + "</tem:isRecreen>");
:     ASendMessage->Add("</tem:WS_WS_IMO_VALID_AVIT>");
:     ASendMessage->Add("</soapenv:Body>");
:     ASendMessage->Add("</soapenv:Envelope>");
:
:     TStringStream *response = new TStringStream("");
:     try
:     {
:         FRecvString = "";
:         FIdHTTP->Post(FURL, sendMessage, response);
:     }
:


답변:

Indy와 Soap는 전혀 별개의 것입니다.

Soap는 XML 을 베이스로 해서 메세지를 주고 받기위한 형식을 정의해 놓은 것에 불과한 겁니다.

Indy는 간단하게 구현할 수 있는 Blocking 구조로 만들어져 있어서 초보자들이 사용하기에 쉽다는 것 이외에 특별한 장점이 없어요.

C++ 랭귀지 중급 이상 정도 되면, 비동기적으로 소켓을 처리하는 코드를 직접 만들어서 사용하지 Indy 같은 비효율적인
블러킹 구조의 라이브러리는  사용하지 않습니다.





+ -

관련 글 리스트
74959 Indy Soap이 무엇인가요? 뷰트 3036 2018/06/06
74961     Re:Indy Soap이 무엇인가요? 빌더(TWx) 3333 2018/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.