본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

IT기술/xml31

[Soap] soap 통신 개발하기 [2] server와 client 의 역할과 wsdl, xsd 알아보기 Soap 통신을 하는데 있어 Soap 전문을 만들어 발송(요청)하는 Client와 Soap 전문을 받아 확인 후 응답하는 Server가 필요하다. SOAP : “Simple Object Access Protocol" , HTTP, HTTPS 등을 사용해 XML기반 메시지를 통해 네트워크에서 통신하는 것 Client는 데이터를 요청 또는 전송 하기위해 Server에 데이터를 전달할 필요가 있는 것이다. 그렇다고 아무런 형식 없이 전달할 수는 없을 것인데, 어떤 데이터를 전달해야 하는지 메뉴얼(양식)을 Server에서 가이드 해줄 필요가 있다. 이를 Server에서 wsdl파일을 통해 제공한다. WSDL :은 설계도 파일로써 웹서비스가 기술된 정의 파일이다.(XML)로 구성되어 있다. wsdl 안엔 서비스 .. 2023. 6. 19.
[Soap] soap 통신 개발하기 [1] 통신 사이클 이해하기 Soap 통신은 WebService의 일종으로써 TCP / IP를 통해 통신한다. HTTP 클라이언트는 HTTP 서버에 TCP 접속을 사용한다. 접속이 확립 된 후에, 클라이언트는 서버로 HTTP 요청 메시지를 전송할 수있다 : 그렇다면 이 과정에서 Soap 통신을 개발하기위해 Soap 통신 사이클을 먼저 알아야 한다. soap 관련 업무를 진행하며 내가 경험한 사이클은 다음과 같다. 1. soap 전문 작성 2. http 바인드 후 서버에 요청(POST) 3. 응답 받은 soap 전문 확인 4. 응답 코드 / response 결과에 따라 성공/실패 처리 5. 1~4 과정 로깅 및 추적기능 활성화 더욱 추가적인 처리 과정들이 있으나, 통신관련 사이클만 정리하자면 이렇다. 이과정들을 수행할 수 있어야 내가.. 2023. 6. 9.
[Soap] xml 웹서비스, Soap 방식 총정리 SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. 지금은 Rest 방식 전송을 많이 선호하는 편이지만, Rest가 등장하기 전에는 SOAP이 사용되었다. SOAP 만의 장점이 존재하기도 하며, 기존의 SOAP 을 사용하는 곳은 Rest 로 전환하는데 드는 비용 문제도 있다보니 아직 사용되는 곳이 존재한다. 최근에 서비스개발을 진행할때도 rest로 개발하는데, 전송 용량이나 구현 방식이 더욱 간편하고 효율적이다보니 SOAP 방식을 굳이 구현해서 사용할 일이 많지 않다. 나는 회사에서 사용하다보니 어쩔 수없이 사용방법이나 개념을 정리해본다. 1. Soap 의.. 2023. 6. 9.
[JAVA] map 맵 hashmap 사용 방법 - linkedhashmap, hashtable 설명 맵(Map)은 사전(dictionary)과 비슷하다. people 이란 단어에 "사람", baseball 이라는 단어에 "야구"라는 뜻이 부합되듯이 Map은 Key와 Value를 한 쌍으로 갖는 자료형이다. map에는 hashmap과 hashtable로 나뉘는데 hash라는게 붙어 혼돈을 준다. 해시함수를 사용하여 키를 해시값으로 매핑하고, 이 해시값을 색인(인덱스) 또는 주소삼아 데이터를 key와 함께 저장하는 자료구조라서 이름에 hash를 붙인다고 한다. 해시 함수(hash function) 또는 해시 알고리즘(hash algorithm) 또는 해시함수알고리즘(hash函數algorithm)은 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수다. 해시 함수에 의해 얻어지는 값은 해시 값, 해.. 2023. 5. 9.
[Soap] soap body 요소, 바디 요소 SOAP Body 요소 SOAP 바디 요소는 메시지의 최종 포인트를위한 실제 SOAP 메시지를 포함해야 합니다. SOAP Body 요소의 직계 자식 요소는 네임 스페이스 자격이 될 수 있습니다. 아래 예시는 사과의 가격을 요청합니다. 접두사 m를 참고 : GetPrice 및 항목 요소는 응용 프로그램 별 요소입니다. 이 요소들은 SOAP 표준의 일부가 아닙니다. 1 2 3 4 5 6 7 8 9 10 11 12 Apples Colored by Color Scripter cs 그리고 SOAP 응답은 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 1.90 Colored by Color Scripter cs 참조 : https://www.w3big.com/ko/soap/soap-body.ht.. 2023. 4. 13.
[Soap] 문법 https://www.w3big.com/ko/soap/soap-body.html#gsc.tab=0 2023. 4. 3.
XML 특수문자 변환 정리 XML에서 특수문자가 들어가는것을 주의 해야 한다. 예를 들면 & ; 등이다. 특수문자를 그대로 사용하려면 CDATA[ 내용 ]]> 을 사용해서 넣어야 한다. 자주 쓰이는것만 정리해보면 다음과 같다 표현문자 숫자표현 (10진수) 문자표현 설명 " " " 쌍따옴표, 더블쿼테이션 ' ' - 작은 따옴표, 따옴표 # # - 샵 & & & 앰퍼샌드 공백 띄어쓰기, Non-breaking space ; ; - 세미콜론 > > 부등호 ? ? - 물음표 이 뿐만 아니라 모든 특수문자를 변환할 때 표현 방법을 정리해 두려 한다. 표현문자 숫자표현 (10진수) 문자표현 설명 - �- - 사용하지 않음 tap - 수평탭 line feed - 줄 삽입 - - - 사용하지 않음.. 2023. 3. 29.
[XML] SOAP 서비스를 작동하기 위해 알아야 할 것들 SOAP 형식을 서비스 하기위해 알아야 할 정보들이 여럿 존재한다. xsd와 wsdl, soap형식, soapaction 같은 용어들도 알아야 한다. 일반적으로 wsdl이 있으면 soap을 작성할 예제를 만들 수 있으며 validation check도 할 수 있다. SOAP 아키텍쳐 SOAP에 대한 기본적인 이해와 목표를 가지고 이제 나는 아키텍쳐로 논의의 방향을 바꾸려 한다. 그림 1을 보면 전형적인 SOAP 통신 아키텍쳐의 컴포넌트를 알 수 있다: SOAP 클라이언트 (Service Requestor) 웹 서비스를 요청하는 주체, 서비스 브로커를 통해 서비스 위치를 찾음 SOAP 서버 (Service Provider) 웹 서비스를 구현하여 운영하고 제공하는 주체, 브로커에 사용 가능한 웹 서비스 등록.. 2023. 3. 21.
[XML] SOAP 첨부용 WSDL 작성 WSDL(Web Services Description Language의 약자)은 웹 서비스 기술언어 또는 기술된 정의 파일의 총칭으로 XML로 기술된다. 웹 서비스의 구체적 내용이 기술되어 있어 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등이 기술된다. 웹 서비스 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org WSDL은 자주 SOAP와 XML 스키마와 결합하여 인터넷 상에 웹 서비스를 제공하기 위해 사용되기도 한다. 웹 서비스에 연결되는 클라이언트 프로그램은 WSDL 파일을 읽어들여 서버에 어떠한 조작이 가능한지를 결정할 수 있다. 2023. 3. 21.
[XML] SOAP 메시지 SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. 지금은 Rest 방식 전송을 많이 선호하는 편이지만, Rest가 등장하기 전에는 SOAP이 사용되었다. SOAP 만의 장점이 존재하기도 하며, SOAP -> Rest 로 전환하는데 비용 문제도 있다보니 아직 사용되는 곳도 많다. SOAP은 웹 서비스에서 기본적인 메시지를 전달하는 기반이 된다. SOAP에는 몇가지 형태의 메시지 패턴이 있지만, 보통의 경우 원격 프로시져 호출(Remote Procedure Call:RPC) 패턴으로, 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청 하고,.. 2023. 3. 21.
XML 노드의 관리, 노드의 추가(appendChild, insertBefore) 노드의 추가 다음 메소드를 사용하면 특정 위치에 새로운 노드를 추가할 수 있습니다. 1. appendChild() 2. insertBefore() 3. insertData() appendChild() 메소드 appendChild() 메소드는 새로운 노드를 해당 노드의 자식 노드 리스트(child node list)의 맨 마지막에 추가합니다. 다음 예제는 새로운 요소 노드를 생성하고, 생성한 요소 노드를 첫 번째 요소 노드의 마지막 자식 요소 노드로 추가하는 예제입니다. 1 2 3 4 5 예제 xmlObj = xmlHttp.responseXML; // 요청한 데이터를 XML DOM 객체로 반환함. firstLang = xmlObj.getElementsByTagName("language")[0]; // 첫 .. 2023. 3. 8.
XML 노드의 조작 nodeValue 프로퍼티를 사용하면 특정 노드의 값을 확인할 수 있습니다. 또한, getAttribute() 메소드는 속성 노드의 속성값을 반환해 줍니다. getAttributeNode() 메소드는 특정 노드에 포함된 속성 노드 그 자체를 반환해 줍니다. 다음 예제는 첫 번째 요소 노드의 첫 번째 자식 노드의 값을 확인하는 예제입니다. 예제 1 2 3 xmlObj = xmlHttp.responseXML; // 요청한 데이터를 XML DOM 객체로 반환함. // 첫 번째 요소의 첫 번째 자식 노드를 반환함. targetNode = xmlObj.getElementsByTagName("priority")[0].firstChild; cs 노드의 값 변경 nodeValue 프로퍼티를 사용하면 특정 노드의 값을 .. 2023. 3. 8.