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 에서
- 해당 소스를 이클립스에서 로딩하자
- 그리고 반드시 axis2 라이브러리를 빌드패스에 추가하자
- 실행 소스
package main;
- 실행결과
- 소스 자체는 무지 하게 간단하다.
- 이미 필요한 메소드들이 제너레이트 당시에 거의 다 생성되기 때문에 가져다가 쓰기만 하면된다.
.
이번에는 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등이 있다)
- 성공적으로 제너레이트가 됬다면 그림과 같이 폴더와 소스가 생성되었을 것이다.-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 org.apache.log4j.Logger;
import simple01.EchoStub;
import simple01.EchoStub.Echo;
import simple01.EchoStub.EchoResponse;
import simple01.EchoStub.Echo;
import simple01.EchoStub.EchoResponse;
public class EchoClient {
public EchoClient() {
super();
// TODO Auto-generated constructor stub
}
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();
}
}
}
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!!!!
==========
- 이렇게 나오면 성공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 |