둘러보기 생략.
 

Sun Java System (Sun One) Web Server에 sample (jdk 1.5용) 설치 시 배포 에러 문의 (결론:requires JAXB 2.1 API jar)

Sun Java System (Sun One) Web Server에(이하 SJSWS 웹서버) Anyframe-eMarketplace-3.1.1-springMVC-1.5-src.zip을 설치 시 배포하던 중 에러가 발생하였습니다. 해당 내용은 하단 에러 유형란에 있으며 설치 과정에 대한 설명도 담았습니다. 마음에 걸리는 것은 Eclipse 기반으로 설치 과정을 진행한 것이 아니란 것과 SJSWS 웹서버를 사용하고 있다는 것입니다. certified 할 수 없으시더라도 아래의 에러 로그를 통해 볼 때 일반적인 에러 유형일 것이란 생각이 듭니다. 확인 부탁드립니다. 감사합니다.

### 테스트환경 ###
- AnyFrame에서 recommanded 환경인 Windows OS, Apache 웹서버, JDK 1.5에서 최소한의 변화로,
- 실제 목표 환경인 Solaris 10 OS, SJSWS 웹서버, JDK 1.5에 설치할 수 있는 가능성 타진하기 위해
- 테스트 환경인 Windows OS, SJSWS 웹서버, JDK 1.5로 현재 recommanded or tested 웹서버인 Apache, JEUS, WebLogic 외의 WAS configuration을 잡아 보려함.

### 설치 기대효과 ###
- AnyFrame이 Windows OS, SJSWS 웹서버에 설치된 reference가 생깁니다. 해당 환경에서 서비스 가능해집니다.
- AnyFrame이 solaris 10 OS, SJSWS 웹서버에 설치된 reference가 생깁니다. 해당 환경에서 서비스 가능해집니다.

### 설치과정 ###
(0) Windows XP OS, Apache 웹서버, JDK 1.5, Anyframe-eMarketplace-3.1.1-springMVC-1.5-src.zip 샘플에서 'ant war' 명령으로 Apache 웹서버 밑에 'webapps'로 'war' 파일을 옮기고 HSQL DB를 시작하는 것만으로 성공하였음.

동일한 과정을 SJSWS로 대체해 보고자 함.

(1) Windows에 JDK 1.5 update 17 (jdk-1_5_0_17-windows-i586-p.exe) 다운 받아 실행
=> 성공 : '\jdk1.5.0_17' 생성됨

(2) SJSWS 7.0 update 4 (sjsws-7_0u4-windows-i586.zip) 다운 받아 압축 풀고 Setup.exe 실행
=> 성공 : '\Program Files\Sun\WebServer7' 생성됨, SJSWS 웹서버 JDK 버전은 'JDK 1.5 update 15'라서 따로 다시 잡지 않음

(3) Ant 1.7.1 (apache-ant-1.7.1-bin.zip) 다운 받아 압축풀기(Ant는 압축풀기 자체가 설치과정임)
=> 성공 : '\apache-ant-1.7.1' 생성됨

(4) Anyframe-eMarketplace-3.1.1-springMVC-1.5-src.zip 압축풀기
=> 성공 : '\anyframe-sample-services'와 '\anyframe-sample-web' 폴더 생성됨

(5) '\anyframe-sample-web' 폴더에서 'ant war' 명령
=> 성공 : '\anyframe-sample-web\dist\anyframe-sample-web.war' 파일 생성됨

(6) SJSWS admin page ('http://localhost:8989') 시작시키고 접속하여 'web applcation 등록' 페이지로 감. war 파일 원본 위치, 설치될 URI 이름 ('\anywebsample'), 설치될 위치 (기본) 설정하고 등록
=> 성공 : 배포경로를 ('Program Files\Sun\WebServer7\https-ha-seo-2.dsn.sec.samsung.com\web-app\ha-seo-2.dsn.sec.samsung.com\anywebsample') 웹서버 스스로 잡음. '아직 배포하지 않았으므로 폴더 미생성되고 실제 접근도 불가능

(7) SJSWS admin page에서 '배포' 버튼 누름
=> 실패 : 배포경로에 해당 폴더 생성되고 index.jsp 파일 및 sample 관련 파일 생성 중 다음과 같은 에러 발생.

### 에러유형 ###

2009/02/02:14:11:33 info
PWC1412: WebModule[/anywebsample] ServletContext.log():Initializing Spring root WebApplicationContext

2009/02/02:14:12:13 failure
WebModule[/anywebsample]PWC1275: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception; nested exception is java.lang.LinkageError: JAXB 2.0 API jar is being loaded (from jar:file:/C:/Program%20Files/Sun/WebServer7/lib/webserv-jwsdp.jar!/javax/xml/bind/annotation/XmlSchema.class), but this RI (from jar:file:/C:/Program%20Files/Sun/WebServer7/https-ha-seo-2.dsn.sec.samsung.com/web-app/ha-seo-2.dsn.sec.samsung.com/anywebsample/WEB-INF/lib/jaxb-impl-2.1.6.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) requires JAXB 2.1 API jar. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:851) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:807) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:437) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:404) at java.security.AccessController.doPrivileged(Native Method) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:375) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:263) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:170) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:260) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:184) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:163) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:430) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:254) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:198) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4456) at org.apache.catalina.core.StandardContext.start(StandardContext.java:5113) at com.sun.webserver.connector.nsapi.WebModule.start(WebModule.java:235) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224) at org.apache.catalina.core.StandardHost.start(StandardHost.java:924) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1224) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520) at org.apache.catalina.startup.Embedded.start(Embedded.java:917) at com.sun.enterprise.web.PwcWebContainer.onStartup(PwcWebContainer.java:70) at com.sun.webserver.connector.nsapi.WebContainer.start(WebContainer.java:491) at com.sun.webserver.init.J2EERunner.confPostInit(J2EERunner.java:304) Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception; nested exception is java.lang.Li

2009/02/02:14:12:13 info
CORE3282: stdout: 2009-02-02 14:12:13,196 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed

2009/02/02:14:12:13 info
CORE3282: stdout: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]: Constructor threw exception; nested exception is java.lang.LinkageError: JAXB 2.0 API jar is being loaded (from jar:file:/C:/Program%20Files/Sun/WebServer7/lib/webserv-jwsdp.jar!/javax/xml/bind/annotation/XmlSchema.class), but this RI (from jar:file:/C:/Program%20Files/Sun/WebServer7/https-ha-seo-2.dsn.sec.samsung.com/web-app/ha-seo-2.dsn.sec.samsung.com/anywebsample/WEB-INF/lib/jaxb-impl-2.1.6.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) requires JAXB 2.1 API jar.

### 에러추적 ###

(1) 알려진 문제 - WAS(Web Application Server) Configuration 시 WebLogic은 'geronimo-servlet_2.5_spec-1.2.jar'을 endorsed 폴더 밑으로 복제해 넣어라! (SJSWS의 사례는 없지만...)
정보제공 - http://dev.anyframejava.org/anyframe/doc/core/3.1.0/corefw/guide/ws-wasc...
: 가능한 에러 - '\Program Files\Sun\WebServer7\https-ha-seo-2.dsn.sec.samsung.com\web-app\ha-seo-2.dsn.sec.samsung.com\anywebsample\WEB-INF\lib'에 'geronimo-servlet_2.5_spec-1.2.jar' 파일 존재하나 SJSWS 웹서버에는 endorsed 폴더가 존재하지 않으므로 비슷한 폴더를 알 수 없음.

(2) 알려진 문제 - Anyframe Core 연계를 위한 web.xml (ContextLoaderListener, contextConfigLocation)설정!
정보제공 - http://dev.anyframejava.org/anyframe/doc/web/3.0.1/webfw/struts/extensio...
: 가능한 에러(없음) - '..\anywebsample\WEB-INF\lib\web.xml'에 다음 설정 있음.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/config/spring/applicationContext-*.xml,
<param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
net.sf.infrared.agent.setup.InfraREDServletContextListener
</listener-class>
</listener>

: 가능한 에러 - web-app id 설정은 올바른 것인지 확인할 수 없음
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>sample-web</display-name>

(3) 알려진 문제 - services 영역의 bean 설정 파일이 로드되지 못한 것으로 보임. ERROR [org.springframework.web.context.ContextLoader] Context initialization failed 라고 나타남
정보제공 - http://www.anyframejava.org/node/584
: 가능한 에러 - 본 경우는 Eclipse로 설치한 것이 아님

(4) 알려진 문제 - Sample Source 설치에서 step5dp bean 설정
정보제공 - http://www.anyframejava.org/document/installation/samples#source
: 가능한 에러 - 본 경우는 Eclipse로 설치한 것이 아님

답변입니다.

안녕하세요.

위에 알려주신 에러메시지를 보면, java.lang.LinkageError가 아래와 같이 발생함을 알 수 있습니다.

java.lang.LinkageError: JAXB 2.0 API jar is being loaded (from jar:file:/C:/Program%20Files/Sun/WebServer7/lib/webserv-jwsdp.jar!/javax/xml/bind/annotation/XmlSchema.class), but this RI (from jar:file:/C:/Program%20Files/Sun/WebServer7/https-ha-seo-2.dsn.sec.samsung.com/web-app/ha-seo-2.dsn.sec.samsung.com/anywebsample/WEB-INF/lib/jaxb-impl-2.1.6.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) requires JAXB 2.1 API jar. at

이는 SJSWS 서버에서 사용하는 JAXB 라이브러리와 Anyframe sample에서 배포한 JAXB 라이브러리가 버전이 다르기 때문으로 추정됩니다.

Anyframe Sample에서 JAXB 라이브러리를 배포한 이유는 Sample 코드 중 Web Services 관련 예제가 있기 때문입니다. Web Services 기능 확인이 목적이 아니라면, 아래 URL을 통해 배포되는 Anyframe Templates을 다운로드 받으셔서 테스트를 수행해주시면 될 것 같습니다.

http://dev.anyframejava.org/dist/
Anyframe Template 다운로드 위치는 여기입니다.

만약 Apache CXF 웹서비스 프레임워크를 이용하여 웹 서비스 기능을 테스트해보려면,
1. SJSWS 서버에 있는 JAXB 2.0 API를 JAXB 2.1로 업그레이드 시도한 후 테스트
2. 혹은 반대로 WEB-INF/lib에 있는 JAXB 2.1 API를 JAXB 2.0로 다운그레이드 시도한 후 테스트
3. 혹은 Anyframe-core-3.2.0-bin\lib\cxf 폴더에 있는 모든 JAR 파일들을 WEB-INF/lib 폴더에서 제거하고
SJSWS 서버의 시스템 라이브러리 폴더(C:/Program%20Files/Sun/WebServer7/lib)로 이동
4. 위와 같이 해도 동작하지 않는 경우, SJSWS 서버 벤더 사에 Apache CXF와 SJSWS 서버 연동 방법을 문의하여 주십시오.

This is the right weblog for

This is the right weblog for anybody who desires to seek out out about this topic. You understand a lot its nearly onerous to argue with you (not that I truly would want…HaHa). You definitely put a brand new spin on a subject thats been written about for years. Nice stuff, simply nice!
slot machines on line smart facebook slots Foot