달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2010. 5. 20. 11:02

Axis + eclipse 이용 client 설정 I.lib()/I.lib(Axis2)2010. 5. 20. 11:02

.. .. ..

이번에는 Axis2 Client 서비스를 올리자.
필요한 것들

JDK1.5
Axis2 라이브러리
SoapUI - 반드시 필요한 것은 아니지만.. 매우 유용한 java program이다. 꽁짜다!!!!!!

움... Client 를 생성하게 되는 자잘한 원리들은 일단 생략하고....(개인적으로 열심히 찾아보기를 바란다....)
일단 맹글자.

역시 간단하다. 웹서비스라는것이 원리 부터 파헤치면 난이도가 결코 낮지는 않지만.. 일단 만드는 것은 쉽게 가능하다.

1. Stub 파일 생성.
    -
http://127.0.0.1:8080/ws/services/Echo?wsdl 이 서비스가 존재한다는 가정하에 하겠다.(지난번에 Server 쪽 서비스 올리는 방법 올렸다... 그 연장선 상에서 하겠다.)
    - Skelton 과 Stub 에 관한 설명도 생략하겠다.
    - WSDL 이라는 XML 파일을 기본으로 스텁파일을 생성할 수 있다.
    - Axis2 설정이 잘 되어있다면.... wsdl2java 라는 명령어가 실행 될것이다. 말그대로 wsdl 파일을 java로 제너레이트 해주는 명령어다.
  - wsdl2java.bat -uri
http://127.0.0.1:8080/ws/services/Echo?wsdl -o D:\lims\worker2\src\echoClient -d adb
  - 잠시 부연설명 하자면...
     wsdl2java 에서
-url 옵션은 머 wsdl 파일의 경로다.
-o 는 제너레이트되어 생성될 소스 디렉토리 경로(EchoClient 라는 폴더를 생성했다.)
-d 는 xml 바인딩 변수다. adb는 AxisDataBinding의 약자인듯..(default가 adb 다. 이 외에 xmlbeans, jibx등이 있다)

     - 성공적으로 제너레이트가 됬다면 그림과 같이 폴더와 소스가 생성되었을 것이다.
     - 해당 소스를 이클립스에서 로딩하자

     - 그리고 반드시 axis2 라이브러리를 빌드패스에 추가하자
     - 실행 소스

package main;
import java.rmi.RemoteException;
import org.apache.axis2.AxisFault;
import org.apache.log4j.Logger;
import simple01.EchoStub;
import simple01.EchoStub.Echo;
import simple01.EchoStub.EchoResponse;
public class EchoClient {
 public EchoClient() {
  super();
  // TODO Auto-generated constructor stub
 }
 public static void main(String args[]){
  Logger logger = Logger.getLogger(EchoClient.class);
  
  String str = "Axis2 Service Test!!!!";
    
  try {
   //웹서비스 stub 변수 선언
   EchoStub stub = new EchoStub();
   
   //웹서비스 요청시 사용할 변수 바인딩
   Echo echo = new Echo();
   echo.setStr(str);
   
   //웹서비스 호출_응답
   EchoResponse er = stub.Echo(echo);
   
   //응답메시지 확인
   String ret_msg = er.get_return();
   logger.info(ret_msg);
  } catch (AxisFault e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (RemoteException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
}

     - 실행결과
==========
Axis2 Service Test!!!!
==========
    - 이렇게 나오면 성공
    - 소스 자체는 무지 하게 간단하다.
    - 이미 필요한 메소드들이 제너레이트 당시에 거의 다 생성되기 때문에 가져다가 쓰기만 하면된다.

'I.lib() > I.lib(Axis2)' 카테고리의 다른 글

CXF 를 이용해 Web Service 이용하기 (axis2비슷)  (0) 2013.08.08
AXIS2 정리 및 요약  (0) 2010.09.06
axis2 + eclipse Server 올리는 설정  (1) 2010.05.20
AXIS2 관련 ERROR  (2) 2010.05.19
Axis2 설치 / 설정  (2) 2010.04.27
.
:
Posted by .07274.