* 웹서비스 SOAP방식-Server단 개발 (* 별도 war 배포방식) *

 

1. 별도 war 배포방식
   a. 정의
      1. 구글 검색을 통해서 Server단 개발방법을 보면 axis2를 배포하면서 웹서비스 목록을 보여주는 방식이다.
         예)http://egloos.zum.com/js7309/v/10644853
         하지만 이번 war배포방식은 기존 프로젝트와 관계 없이 별도 프로젝트를 생성해서 개발 후 war파일을 만들어 배포하면 된다.
         꼭 별도 프로젝트를 만들지 않고 기존 프로젝트 내부에 개발해도 된다.
   b. war를 만들기 위해 ant를 이용(아래에서 설명)
   
2. 웹서비스 server단 개발방법 및 절차
   a. 별도 Web Dynamic Project생성
      - Project생성도중  [ ] Aixs2 Web Services는 체크 안해도 된다.
   b. client단에서 호출시 필요한 자료를 전송해줄 server단 업무 소스(java)개발
      - 기본개발소스
        . Cmd : client단에서 soap을 이용해서 처음 호출 되는  server단 java source
        . Biz : server단 개발업무 소스
        . ReqeustVO : client에서 호출시 필요한 argument
        . ResponseVO : client단에서 호출시 넘겨받은 argument를 이용해

                            db에서 자료를 조회 후 setting할 VO. 이 vo를 client로 넘겨준다.
        . RecordVO : 만약, client단으로 자료를 넘겨줄 경우 여러레코드가 존재 할 경우 해당 되는 VO
   c. war파일을 만들기 위한 폴더 구조
      - soapWar - aar
                - axis2_war - axis2

                                      ....

                                      - WEB/INF/services

                                      ....
                            - EmpWebServices
                            - war_app
                            - war_dev
                            - war_local
                - META-INF
                - wsdl
                - ant_build_prod.xml
                  ant_build_dev.xml
                  ant_build_local.xml

3. war파일을 만들기 위한 폴더 구조 설명
      - soapWar - aar                        : war파일 만들기 전 웹서비스 aar 압축파일 위치하는 곳

                                                   이 aar압축파일 내부에 server단 class파일들이 포함되어 있다.
                - axis2_war - axis2          : axis2.war 파일을 압축해제된 폴더 및 파일들을 위치 시킴
                                      ....

                                      - WEB/INF/services : 배포될 aar파일 위치 (예, EmpWebServices.aar )

                                      ....

                            - EmpWebServices : 임시용. java 파일을 컴파일을 class파일을 들을 위치시킬 폴더
                            - war_prod       : 운영서버에 배포할 war파일이 위치할 폴더
                            - war_dev        : 개발서버에 배포할 war파일이 위치할 폴더
                            - war_local      : 로컬서버에 배포할 war파일이 위치할 폴더
                - META-INF                   : 웹서비스 목록 및 java package경로
                - wsdl                       : 임시용. server단 개발자에게 넘겨줄 wsdl을 위치시킬 폴더
                - ant_build_prod.xml         : 운영서버에 배포할 war파일 생성용 ant builder
                  ant_build_dev.xml          : 개발서버에 배포할 war파일 생성용 ant builder
                  ant_build_local.xml        : 로컬서버에 배포할 war파일 생성용 ant builder

 

4. 아래는 소스
   1. Server단 소스
   2. /META-INF/services.xml 파일
   3. /axis2_war/axis2/WEB-INF/web.xml
   4. ant_build_local.xml   (ant설명은 별도 카테고리에 존재)

 

5. ant파일 실행 과정
   1. java소스 컴파일시 필요한 jar파일 위치 설정
   2. class파일들이 위치할 필요한 폴더들 생성
   3. java소스 컴파일
   4. 컴파일된 class파일들을 *.aar 압축
   5. *.aar파일을 특정위치로 copy
   6. *.war압축파일 생성


6. Server단 소스

 

7. /META-INF/services.xml 파일 (웹서비스가 2개 인경우 예제)


8. /axis2_war/axis2/WEB-INF/web.xml


9. ant_build_local.xml

 

Posted by 농부지기
,