osgi 웹서비스 개발에 대해서 여쭈어요~

149 views
Skip to first unread message

azzz

unread,
Jul 26, 2010, 1:34:17 AM7/26/10
to OSGi &SpringDM

어제 메일 보냈던 사람입니다 ^ ^
답변 너무 잘 받았습니다.
osgi환경에서 웹서비스를 구현하려고 합니다.

R3 와 jdk1.4 를 사용하는 환경에서 osgi 웹서비스를 구축하려면, Axis나, 여러 툴킷을 사용하여
쉽게 구현하는 방법은 없는 건가요 ?
대게, jdk1.5 이상을 지원한다거나, osgi R4 를 지원하더군요 ㅠㅠ (apache cxf 의경우...)

그래서 지금 osgi 에서 지원하는 http서비스를 사용하여 soap 통신하는 부분을 직접 구현 하려고 합니다.
번들화 하여 올리려면 웹서비스 서버를 컨테이너를 사용하지 않고, 직접 구현해야 하는것 같아서요.

이렇게 구현하게 되면 웹서비스가 가능한 서버를 만들 수 있을런지요 ?
아니면 좀 더 쉽게 구현하는 방법이 있을 까요 ? ㅜ ㅜ 너무 두서없는 질문이라...죄송합니다...

ps. R3 라면 concierge 를 사용해보라고 하셨는데, equinox 와 비슷한 것이라고 생각하면 되나요 ?

xguru

unread,
Jul 26, 2010, 2:29:24 AM7/26/10
to OSGi &SpringDM
현재 나온 SOAP 기반 웹서비스 툴킷중에서 JDK 1.4 에서도 잘 실행되는게 있는지 한참 찾아보셔야 할듯 합니다 ^^;

Concierge 는 R3 만을 구현한 OSGi 프레임워크입니다. equinox 와 비슷합니다.
Knopflerfish 도 버전 1의 경우는 R3 만 구현되어있습니다. http://www.knopflerfish.org

말씀하신대로 OSGi HTTP 서비스를 사용하여 SOAP 통신을 직접 구현한다면,
Servlet 기반으로 SOAP 구현부 자체를 작성하셔야 합니다만,
어떤 웹서비스를 구현하셔야 하는지에 따라 할일이 엄청 많을수 있습니다.

Knopflerfish 쪽에 SOAP 을 OSGi 상에서 구현한 예제들이 좀 있으니, 참고해보세요.

http://www.knopflerfish.org/releases/current/repository.xml

왜 R3 와 JDK1.4 를 꼭 써야하는지 궁금한데요. 제 예상대로 J2ME 에서 진행하시는거라면,
오픈소스가 아닌 상용 OSGi 프레임워크인 Prosyst 도 확인해보세요
Java ME 전용 OSGi R3 프레임워크도 공급합니다.
http://www.prosyst.com/index.php/de/html/content/75/mBS-Mobile-for-JavaME/

김나래

unread,
Jul 28, 2010, 7:22:19 AM7/28/10
to osgi-s...@googlegroups.com
osgi ����� �������Դϴ�.
 
�����߿� ���� ���� ��_�� ������ ���ظ� ���ϰھ ���� �帳�ϴ�.
 
jaxrpc-api.jar ���̺귯���� �о��� �߰��ϰ� �׾ȿ� �ִ� SOAPMessageContext Ŭ������ ����Ϸ��� �ϴµ��� .
 
2010-07-28 20:15:06.084 Log ErrorError handling connection
java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext
 at helloworld.HelloWorldServlet.submit(HelloWorldServlet.java:52)
 at helloworld.HelloWorldServlet.doGet(HelloWorldServlet.java:35)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at org.eclipse.equinox.http.ServletRegistration.service(ServletRegistration.java:83)
 at org.eclipse.equinox.http.ServletRegistration.service(ServletRegistration.java:74)
 at org.eclipse.equinox.http.HttpListener.handleConnection(HttpListener.java:238)
 at org.eclipse.equinox.http.HttpConnection.run(HttpConnection.java:64)
 at org.eclipse.equinox.http.HttpThread.run(HttpThread.java:126)

 
�ڲ�  java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext �� ������ ���׿�.
Ŭ���� �ε� ������� �ϴµ�, �ذῡ ���� ������ �˻��ص� ã�� ���� �����ϴ�.
 
jaxrpc-api �ȿ� �ִ� �ٸ� Ŭ������ ������ ��µ� , �̰� ������ ���׿�.
 
Ȥ�� ������ �� �� ������� ?
 
 
�ҽ����� import javax.xml.rpc.handler.soap.SOAPMessageContext; �� import�߱���.
�����о����� jaxrpc-api.jar ������ �߰� �Ͽ����ϴ�.
 
�������� �ҽ��κ���
   .
   .
   .
MessageContext context;
SOAPMessageContext smc = (SOAPMessageContext) context;   <<< �̺κ� �̤�
SOAPMessage message = smc.getMessage();
   .
   .
   .
 
 
�̷����ϴ�..
 
�׷� �����Ϸ�Ǽ���.


���� ���� �ִ� ��� ���� ������ �� ����! ������ ���̺� ���� �ٷΰ���

Chris Kwon

unread,
Jul 28, 2010, 8:04:50 AM7/28/10
to osgi-s...@googlegroups.com
jaxrpc-api.jar 를 OSGi 번들내부에서 제대로 못찾는듯 합니다.
일반적인 자바번들을 OSGi 번들내부에서 사용할때 제대로 번들을 생성하지 않거나
Bundle-Classpath 에 등록되지 않으면 NCDFE 에러가 난다고 책에도 적어놨구요.


에 보시면 스프링쪽에서 번들화한 javax.xml.rpc 번들이 있습니다. 
이걸 따로 번들로 추가한다음 Import-Package 에 넣어서 한번 시도해 보세요.


2010/7/28 김나래 <kayas...@hotmail.com>
osgi 번들을 개발중입니다.
 
개발중에 오류가 나서 ㅜ_ㅜ 도저히 이해를 못하겠어서 메일 드립니다.
 
jaxrpc-api.jar 라이브러리를 패쓰에 추가하고 그안에 있는 SOAPMessageContext 클래스를 사용하려고 하는데요 .
 
2010-07-28 20:15:06.084 Log ErrorError handling connection
java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext
 at helloworld.HelloWorldServlet.submit(HelloWorldServlet.java:52)
 at helloworld.HelloWorldServlet.doGet(HelloWorldServlet.java:35)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at org.eclipse.equinox.http.ServletRegistration.service(ServletRegistration.java:83)
 at org.eclipse.equinox.http.ServletRegistration.service(ServletRegistration.java:74)
 at org.eclipse.equinox.http.HttpListener.handleConnection(HttpListener.java:238)
 at org.eclipse.equinox.http.HttpConnection.run(HttpConnection.java:64)
 at org.eclipse.equinox.http.HttpThread.run(HttpThread.java:126)

 
자꾸  java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext 이 에러가 나네요.
클래스 로딩 문제라고 하는데, 해결에 대한 내용을 검색해도 찾을 수가 없었습니다.
 
jaxrpc-api 안에 있는 다른 클래스는 에러가 없는데 , 이건 에러가 나네요.
 
혹시 원인을 알 수 있을까요 ?
 
 
소스에는 import javax.xml.rpc.handler.soap.SOAPMessageContext; 을 import했구요.
빌드패쓰에도 jaxrpc-api.jar 파일을 추가 하였습니다.
 
직접적인 소스부분은
   .
   .
   .
MessageContext context;
SOAPMessageContext smc = (SOAPMessageContext) context;   <<< 이부분 ㅜㅜ
SOAPMessage message = smc.getMessage();
   .
   .
   .
 
 
이렇습니다..
 
그럼 좋은하루되세요.


내가 갖고 있는 모든 메일 계정을 한 눈에! 윈도우 라이브 메일 바로가기

김나래

unread,
Jul 28, 2010, 8:47:12 AM7/28/10
to osgi-s...@googlegroups.com
�亯 �ʹ� �����մϴ�.
 
�׷��� �ٿ�ް� ���� �߰��ϰ� import ��Ű�� ���� ���״µ� , �߰��� ����� �Ǿ���� Ȯ���Ϸ��� diag�� �� ���ҽ��ϴ�.
 
osgi> diag 60
initial@reference:file:D:/Programming/OSGI/HelloWorld/ [60]
  Direct constraints which are unresolved:
    Missing imported package javax.xml.rpc.handler.soap_1.1.0.
 
 
 
Import-Package: javax.servlet,
 javax.servlet.http,
 javax.xml.rpc.handler.soap;version="1.1.0", <<<<�����...
 org.osgi.framework;version="1.3.0",
 org.osgi.service.http;version="1.2.0",
 org.osgi.util.tracker;version="1.3.1"
 
�̷��� import �� �Ǿ��ִµ��� �ν��� ���ϴ� �ǰ��� ? �̤�
 
 
 
 

 

From: guru...@gmail.com
Date: Wed, 28 Jul 2010 21:04:50 +0900
Subject: Re: osgi ������ ���߿� ���ؼ� ���޾��~
To: osgi-s...@googlegroups.com

jaxrpc-api.jar �� OSGi ��鳻�ο��� ����� ��ã�µ� �մϴ�.
�Ϲ����� �ڹٹ���� OSGi ��鳻�ο��� ����Ҷ� ����� ����� ������ �ʰų�
Bundle-Classpath �� ��ϵ��� ������ NCDFE ������ ���ٰ� å���� �����.


�� ���ø� �������ʿ��� ���ȭ�� javax.xml.rpc ����� �ֽ��ϴ�. 
�̰� ��� ���� �߰��Ѵ��� Import-Package �� �־ �ѹ� �õ��� ������.


2010/7/28 �質�� <kayas...@hotmail.com>
osgi ����� �������Դϴ�.
 
�����߿� ���� ���� ��_�� ������ ���ظ� ���ϰھ ���� �帳�ϴ�.
 
jaxrpc-api.jar ���̺귯���� �о��� �߰��ϰ� �׾ȿ� �ִ� SOAPMessageContext Ŭ������ ����Ϸ��� �ϴµ��� .
 
2010-07-28 20:15:06.084 Log ErrorError handling connection
java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext
 at helloworld.HelloWorldServlet.submit(HelloWorldServlet.java:52)
 at helloworld.HelloWorldServlet.doGet(HelloWorldServlet.java:35)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at org.eclipse.equinox.http.ServletRegistration.service(ServletRegistration.java:83)
 at org.eclipse.equinox.http.ServletRegistration.service(ServletRegistration.java:74)
 at org.eclipse.equinox.http.HttpListener.handleConnection(HttpListener.java:238)
 at org.eclipse.equinox.http.HttpConnection.run(HttpConnection.java:64)
 at org.eclipse.equinox.http.HttpThread.run(HttpThread.java:126)

 
�ڲ�  java.lang.NoClassDefFoundError: javax/xml/rpc/handler/soap/SOAPMessageContext �� ������ ���׿�.
Ŭ���� �ε� ������� �ϴµ�, �ذῡ ���� ������ �˻��ص� ã�� ���� �����ϴ�.
 
jaxrpc-api �ȿ� �ִ� �ٸ� Ŭ������ ������ ��µ� , �̰� ������ ���׿�.
 
Ȥ�� ������ �� �� ������� ?
 
 
�ҽ����� import javax.xml.rpc.handler.soap.SOAPMessageContext; �� import�߱���.
�����о����� jaxrpc-api.jar ������ �߰� �Ͽ����ϴ�.
 
�������� �ҽ��κ���
   .
   .
   .
MessageContext context;
SOAPMessageContext smc = (SOAPMessageContext) context;   <<< �̺κ� �̤�
SOAPMessage message = smc.getMessage();
   .
   .
   .
 
 
�̷����ϴ�..
 
�׷� �����Ϸ�Ǽ���.


���� ���� �ִ� ��� ���� ������ �� ����! ������ ���̺� ���� �ٷΰ���



���� ���� �ִ� ��� ���� ������ �� ����! ������ ���̺� ���� �ٷΰ���
Reply all
Reply to author
Forward
0 new messages