달력

3

« 2024/3 »

  • 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
  • 31
.. .. ..

[펌] : http://yally93.egloos.com/2991005

 

1. 역시 CXF를 다운 받아 압축을 풀어 놓는다.
2. 자바 및 서버를 설치한다.
3. WEB-INF/web.xml을 수정한다. 이렇게 되면 아래의 WS 가 들어간 URL은 모두 CXF를 타게 된다.
- 블로그의 특성상 <url-pattern>/WS/ * </url-pattern> 로 띄어쓰기를 빼고 수정하여 넣어라.

<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/beans.xml</param-value>
</context-param>

<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>

<servlet>
<servlet-name>CXFServlet</servlet-name>
<!--display-name>CXF Servlet</display-name-->
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/WS/-</url-pattern>
</servlet-mapping>
</web-app>
4. WEB-INF/lib 폴더에 CXF 라이브러리(*.jar파일)를 집어 넣는다. 귀찮아서 모두 다 넣어 버렸다. ㅋㅋㅋ
- 일단 정리


5. WEB-INF/beans.xml 을 설정한다(web.xml에 이렇게 정의 하였다.).
- 테스트 이므로 cxf.xml, cxf-extension-soap.xml, cxf-servlet.xml 파일은 정의 하지 않았다.
- endpoint 를 주의해서 보기를 바란다. 이 부분이 해당클래스와 URL을 매핑하여 주는 부분인 듯 싶다.
- 클래스 생성 시 endpointInterface 를 통하여 넣을 수 있을 것도 같은데 그 쪽 테스트가 진행이 되지 않는다. 아직 모르겠다.
- endpoint 를 통하여 접속 URL이 어떻게 바뀌는지를 확인하여 본다.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="orderProcess" implementor="demo.order.OrderProcessImpl" address="/OrderProcess" />
<jaxws:endpoint id="testProcess" implementor="demo.order.TestProcessImpl" address="/TestProcess" />
</beans>
7. 두 개 정의된 XML중 간단한 TestProcess를 구현한다(나머지 하나는 알아서 필요하면 만들기를...).
- TestProcess.java
package demo.order;

 

import javax.jws.WebService;

@WebService
public interface TestProcess {
String getTest(String src);
}
- TestProcessImpl.java
package demo.order;

import javax.jws.WebService;

@WebService(endpointInterface = "demo.order.TestProcess")
public class TestProcessImpl implements TestProcess {
public String getTest(String src) {
return "TEST rtn:"+ src;
}
}

이렇게 되면 URL로 접속하여 볼 수가 있다.
현재 server.xml 에 포트등을 일부러(서버 두대를 띄우기 위하여) 8090으로 바꾸어 테스트를 진행하였으니 포트나 URL을 자세히 분석하기를 바란다.

먼저 web.xml에 WS를 CXF로 리턴시키기 때문에 아래의 URL을 확인한다. (sever의 path도 /로 잡혀 있어 아래의 URL을 만들었다.
http://localhost:8090/WS


OrderProcess 와 TestProcess가 보인다.
이 두 웹서비스는 processOrder 웹메소드와 getTest 웹메소드를 각각 하나씩 가지고 있음을 확인할 수가 있다.
이 정보에서 WSDL을 클릭하여 보면 http://localhost:8090/WS/TestProcess?wsdl 해당 wsdl URL을 얻을 수가 있으며 이 정보가 서로 주고 받는 입출력 정의가 된다.

이상 끝~~~~

 

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

AXIS2 정리 및 요약  (0) 2010.09.06
Axis + eclipse 이용 client 설정  (0) 2010.05.20
axis2 + eclipse Server 올리는 설정  (1) 2010.05.20
AXIS2 관련 ERROR  (2) 2010.05.19
Axis2 설치 / 설정  (2) 2010.04.27
.
:
Posted by .07274.
2010. 9. 6. 18:56

AXIS2 정리 및 요약 I.lib()/I.lib(Axis2)2010. 9. 6. 18:56

.. .. ..

Axis2 소개

http://www.ibm.com/developerworks/kr/library/ws-soa-axis2-1/index.html

Axis2 Documentation

POJO Web Services using Axis2

Axis2 integration with the Spring Framework

 

 

Axis2 개발

 

Eclipse에서 Axis2 개발환경

Axis2 1.4.1 version을 기준. 1.5 버전은 Eclipse WTP에 문제 있음. - 09/11/17

Eclipse WTP를 이용한 Axis2 웹서비스 개발 가이드

Eclipse WS Tutorial

maven이용한 빌드: http://mail-archives.apache.org/mod_mbox/ws-axis-user/200811.mbox/%3C200811052035.56924.dojeda-list@integra.la%3E

 

Another eclipse ws tutorial

Bottom up WS: http://www.softwareagility.gr/index.php?q=node/21

 

Top down WS

 

 

Axis2 튜토리얼

 

WTP에서 Axis2를 이용한 웹 서비스 구현하기 Part 1: 개발 환경 구축과 웹 서비스 판매 프로세스 개발 준비

http://www.ibm.com/developerworks/kr/library/dwcod/20071120/

 

WTP에서 Axis2를 이용한 웹 서비스 구현하기 Part 2: 상품 검색 기능

http://www.ibm.com/developerworks/kr/library/dwcod/20080108/

 

http://blog.naver.com/ixoixo/120054662617

http://blog.naver.com/chambab72?Redirect=Log&logNo=100058777928

 

 

Working with Maven

Maven2 AAR Plug-in Guide



 [펌] :
http://gtko.springnote.com/pages/4655115

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

CXF 를 이용해 Web Service 이용하기 (axis2비슷)  (0) 2013.08.08
Axis + eclipse 이용 client 설정  (0) 2010.05.20
axis2 + eclipse Server 올리는 설정  (1) 2010.05.20
AXIS2 관련 ERROR  (2) 2010.05.19
Axis2 설치 / 설정  (2) 2010.04.27
.
:
Posted by .07274.
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.
2010. 5. 20. 11:01

axis2 + eclipse Server 올리는 설정 I.lib()/I.lib(Axis2)2010. 5. 20. 11:01

.. .. ..
Eclipse에서 AXIS2 서비스를 올려보자
일단 기본적으로 필요한 것들은

Tomcat 5.5 이상
JDK1.5 이상
Axis2 라이브러리

머 없으면 다 다운받자. 아파치 사이트에 다 있으니까...

서비스 올리는 방법은 무쟈게 간단하다.

1. Eclipse Axis2 설정
    - 개인 PC에 Axis2 라이브러리가 있다는 가정하에 시작하겠다.
    - Eclipse 에서 Window -> Preferences -> WebServices -> Axis2 Preferences 가 있을것이다.(없으면.. 흠... 기억이 안난다.. 플러그인을 깔았던것 같기도 하구 아닌것 같기두 하고.....)
    - 거기에 Axis2 runtime location 에 다운받은 axis2 홈 경로를 써준다.
    - 옆에 Axis2 Preferences 탭은 걍 기본설정으로 놔누고 걸들지 말자.

2. java Project 생성
    - 웹서비스를 하기 위한 간단한 자바 프로젝트를 생성하자.
    - 구구절절한 설명은 생략한다.

package simple01;
public class Echo {
 public Echo() {
  super();
  // TODO Auto-generated constructor stub
 }
 public String Echo(String str){
  StringBuffer sb = new StringBuffer();
  
  sb.append("==========");
  sb.append("\n"+str);
  sb.append("\n==========");
  
  return sb.toString();
 }
}
    - 무지간단한 소스.... 역시 설명 생략

3. 웹서비스 올리기
    - 만들어진 자바소스를 웹서비스로 올리자


    - 생성된 프로젝트 위에서 new -> other.... -> web Services-> Web Service 를 선택하자

    - 설정해야 할 부분들이다 Service implementation 부분에 조금 전에 작성한 자바 소스의 패키지경로를 넣어준다.
    - Server는 tomcat5.5 로(테스트는 안했지만... 다른 was도 상관없을것이다.)
    - Service runtime 은 Apache Axis2 로 (Axis2로 올리기니까.. 당연히 이걸로 해야된다.)
    - Service project 는 ws 로 했다.(어떤 이름을 써도 상관없다 test 머 이런것도 개안타.)
    - Next 버튼 누르자.
    - service.xml 파일을 선택하는 부분이 나온다. 두번째 generate a default service.xml file 을 선택하자.
    - next 버튼을 누르고 Start Server 버튼을 누르자
    - http://127.0.0.1:8080/ws/
    - http://127.0.0.1:8080/ws/services/listServices
    - http://127.0.0.1:8080/ws/services/Echo?wsdl
    - 위 URL에서 /ws/ 는 웹서비스 올릴때 Service project 이름이다.
    - wsdl 파일이 제대로 나왔으면 성공
    - 만약 화면에 Exception 이 떨어지면 PC의 axis2 설정을 다시 보기 바란다.

P/S : Eclipse 상에서 웹서비스 프로젝트를 다시 지우고 올릴때 반드시 포함된 contents 도 같이 지우기 바란다.
        Eclipse project 내에 흔적들이 많이 남기 때문에 일일히 찾아서 지워야 하는 불편함을 감수 하게 될것이다.

출처 : http://pilgood.tistory.com/

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

CXF 를 이용해 Web Service 이용하기 (axis2비슷)  (0) 2013.08.08
AXIS2 정리 및 요약  (0) 2010.09.06
Axis + eclipse 이용 client 설정  (0) 2010.05.20
AXIS2 관련 ERROR  (2) 2010.05.19
Axis2 설치 / 설정  (2) 2010.04.27
.
:
Posted by .07274.
2010. 5. 19. 17:38

AXIS2 관련 ERROR I.lib()/I.lib(Axis2)2010. 5. 19. 17:38

.. .. ..

에러:  java.lang.ClassNotFoundException: org.apache.axis2.transport.http.AxisAdminServlet

web.xml에서 org.apache.axis2.transport.http.AxisAdminServlet을 org.apache.axis2.webapp.AxisAdminServlet 로 변경

 

에러: java.lang.ClassNotFoundException: org.apache.http.HttpResponseFactory

axis2.xml 를 보면 transportReceiver에서 org.apache.axis2.transport.http.SimpleHTTPServer  를 사용하는게 잘 못되었다. 우리는 servlet transport를 사용하므로 transportReceiver를 삭제한다.

 
위의 상태를 고치면 axis2 가 잘돌아간다. 하지만 클라이언트를 만들때 port name이 나오지 않는 현상이 일어난다.
이부분에 대해서 몇일을 알아보고 작업을 하였지만 이유를 알수 없었다.

수많은 시간동안 삽질을 하던중 AXIS2 고수님께 문의해본 결과
AXIS 1.5.1의 버그였다 ;;
FIX 하는 방법은
http://apache.mirror.cdnetworks.com/httpcomponents/httpcore/binary/httpcomponents-core-4.0.1-bin.zip
를 다운받아서 LIB에 추가를 한후에
위에서 지웠던 transportReceiver 부분을 다시 복구한다. 이후 하였더니 잘된다;;

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

CXF 를 이용해 Web Service 이용하기 (axis2비슷)  (0) 2013.08.08
AXIS2 정리 및 요약  (0) 2010.09.06
Axis + eclipse 이용 client 설정  (0) 2010.05.20
axis2 + eclipse Server 올리는 설정  (1) 2010.05.20
Axis2 설치 / 설정  (2) 2010.04.27
.
:
Posted by .07274.
2010. 4. 27. 13:46

Axis2 설치 / 설정 I.lib()/I.lib(Axis2)2010. 4. 27. 13:46

.. .. ..
설명
  • tomcat6
  • Apache2
  • Ant

가 설치 되어 있는 상황에서

  • Axis설치
  • Axis 웹 어플리케이션 설치
  • Axis로 웹서비스하기

에 대한 내용입니다.

 

서버

우분투 9.04 서버

 

Axis2설치

http://ws.apache.org/axis2/download.cgi 에 가서 다운로드 받는다.

지금 설치하고자 하는것은 1.5 버젼입니다.

  • Binary
  • Source
  • WAR
  • Document

의 4가지 파일이 있습니다.

WAR를 다운로드 합니다.

압축풀면 나오는 확장자가 war파일을 Tomcat에 deploy합니다.

방법은.. Tomcat webapps디렉토리에 넣으시면 됩니다.

ROOT라는 디렉토리와 같은 레벨이 될 것입니다.

 

확인

http://localhost:8080/axis2

로 들어갔을때 오류화면이 아니라면 성공입니다 ^^

(tomcat6이나 5.5에서 security문제가 있으니 tomcat6설치 나 tomcat5설치의 문서를 확인하세요)

 

참고자료


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

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