블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
HTML (2)
CSS (4)
Web Browser (6)
JBossAS (27)
Weblogic (1)
GlassFish (2)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
05-09 20:27
 

달력

« » 2024.5
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
 

최근에 올라온 글

최근에 달린 댓글


어쩌다보니 웹 서비스 업무가 할당 되어서 인증까지 확인해야 하는 신세가 되었습니다.

다행히 회사에서 JBoss 책을 발견하고 바로 작업을 진행하였습니다.


1. web.xml 에서 인증을 추가할 웹 서비스 관련 설정을 확인합니다.
[Listing. 1] [ContextRoot]/WEB-INF/web.xml

현재 웹 서비스는 /WorkflowWebServices 로 배포된 상태입니다.


2. JBoss 의 login-config.xml 설정에서 JBossWS 관련 application-policy 를 확인합니다.
[Listring. 2] [JBOSS_HOME]/server/[CONFIGURATION]/conf/login-config.xml


기존에 설정되어 있던 login-config.xml 을 이용하려 합니다.
기본적으로 JBoss 설치 시에 있는 JBossWS application-policy 를 이용하려 합니다.
인증되지 않은 사용자에 대한 설정은 잘 모르니 주석처리하였습니다.

이제 위의 application-policy 에 정의된 users 와 roles properties 를 수정합니다.
[Listring. 3] [JBOSS_HOME]/server/[CONFIGURATION]/conf/props/jboss-users.properties
#아이디=패스워드
vicki=vickivicki

[Listring. 4] [JBOSS_HOME]/server/[CONFIGURATION]/conf/props/jboss-roles.properties
#아이디=Role
vicki=webservice

jboss-users.properties 에 사용자 아이디와 비밀번호를 설정하고, jboss-roles.properties 에 사용자가 어떤 롤을 갖는지 설정합니다.



3. jboss-web.xml 을 수정합니다.
[Listing. 5] [ContextRoot]/WEB-INF/jboss-web.xml


jboss-web 설정에 <security-domain> 엘리먼트에 위에서 확인하였던 application-policy 이름을 설정합니다.
<security-domain>java:/jaas/[application-policy name]<security-domain>



4. web.xml 을 수정합니다.
[Listing. 6] [ContextRoot]/WEB-INF/web.xml


<security-constraint>: 어떤 접속에 어떤 권한으로 인증 절차를 처리할지 설정
<login-config> : 어떤 방식으로 인증을 처리할지를 설정
<security-role> : 어떤 권한을...  (-ㅁ-;;; 잘 모르겠습니다;;;;)



5. 테스트
JBoss 를 재시작하면 기존에 그냥 접속되었던 웹 서비스 WSDL 이 인증을 하라고 합니다.



아이디와 패스워드를 입력하고 확인을 누르면~ 끝입니다.





Posted by 자수씨
, |

새로운 외근용 노트북에 JBoss 환경을 설정하고 웹 서비스를 띄우는데...

아래와 같은 오류가 발생하였습니다.

ERROR [SOAPFaultExceptionHelper] SOAP request exception
java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage


빠른 구글링을 통해 알아본 결과 라이브러리 설정이 필요한 것이였습니다.

해결 방법은 다음과 같습니다. JBoss 실행 옵션에 다음을 추가합니다.
-Djava.endorsed.dirs=%JBOSS_HOME%\lib\endorsed


정상적으로 잘 뜨네요~ 후훗~


참고사이트 : http://community.jboss.org/thread/101651?tstart=0

Posted by 자수씨
, |

회사에서 개발하는 솔루션이 spring framework 기반이라 웹서비스도 spring webservices 로 구축을 하였는데, JBoss 에 올리려고 하니 여러 오류가 생겨 재 작년부터 고민하고 여러가지 시도를 하였으나 실패를 하였습니다.

우연히 다른 것을 검색하다가 발견한 것에서 아이디어가 떠올라서 여러가지 실험을 해본 결과 JBoss 용 웹 서비스를 publish 하는 데 성공하였습니다.



기존의 Spring WebServices Class

별 다른 작업 없이 DI 를 이용하여 service 객체를 이용하여 웹 서비스를 제공하였습니다.



JBossWS 에서 Spring Bean 사용하는 WebService Class

JBossWS 에서@Resource 라는 어노테이션을 이용하여 ThreadLocal 한 WebServiceContext 객체를 설정할 수 있습니다.
메소드에 어노테이션 설정하여 WebServiceContext 객체가 웹 서비스 객체에 설정이 될 때 Spring Bean 을 WebApplicationContext 를 이용하여 가지고 오는 방법을 사용하였습니다.


이렇게 구성된 웹 서비스를 JBoss 에 publish 하는 방법은 단순합니다.

web.xml 에 servlet 과 servlet-mapping 에 웹 서비스 클래스를 등록하는 것이 전부입니다.


Spring WebService 로 publish 할 경우 별도의 포트로 binding 해야 하지만 JBossWS 는 JBoss 포트로 서비스가 가능합니다.

포트가 하나로 통합되면 얻는 이점이 많을 듯 합니다





Posted by 자수씨
, |

이번에 새로 구축하는 사이트에 JBoss 와 우리 webapp 을 배포한 후 JBoss 를 시작하니 아래와 같은 오류가 뜹니다.

ERROR [AbstractKernelController] Error installing to Parse: name=vfszip:/...

위 내용만으로는 도저히 답을 찾을 수 없어 에러 로그를 더 살펴보았습니다.

org.xml.sax.SAXException: Content is not allowed in prolog.

구글링의 결과 UTF-8 문서는 BOM (Byte order Mark) 데이터가 추가된 파일을 못 읽어서 발생하는 문제였습니다.

일단 EditPlus 에서 해당 파일 내용을 복사하여 붙여 넣은 뒤 UTF-8 로 저장한 후, 배포하여 JBoss 를 재시작 하였는데, 주석 비스므레한 부분에서 에러가 나길래 주석을 다 제거한 후 다시 배포하였습니다.

쩝;;; 잘 뜨네요...




Posted by 자수씨
, |

JBoss 를 로컬환경에서 띄울려고 하다 보니 아래와 같은 오류가 발생하였습니다.

22:52:20,485 INFO  [JMXKernel] Legacy JMX core initialized
22:52:21,235 ERROR [AbstractKernelController] Error installing to Instantiated: name=AttachmentStore state=Described
java.lang.IllegalArgumentException: Wrong arguments. new for target java.lang.reflect.Constructor expected=[java.net.URI] actual=[java.io.File]
 at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:395)
 at org.jboss.reflect.plugins.introspection.ReflectionUtils.newInstance(ReflectionUtils.java:153)
 at org.jboss.reflect.plugins.introspection.ReflectConstructorInfoImpl.newInstance(ReflectConstructorInfoImpl.java:106)

구글링을 하다보니 JBoss 의 jira 에 해결책이 있었습니다.
https://jira.jboss.com/jira/browse/JBAS-6973

설정 중에 AttachmentStore 를 생성하는 부분의 constructor 를 수정합니다.

[JBOSS_HOME]\server\default\conf\bootstrap\profile.xml
주석처리한 기존 부분 대신에 새로운 constructor 를 넣습니다. parameter 의 클래스를 정의해 주는 부분이 추가되었습니다.

일단 JBoss 는 뜨는 듯 합니다.


Posted by 자수씨
, |

하나의 문제를 해결하니 다른 하나의 문제에 봉착...

처음 페이지에 접속하려 하니 아래와 같은 오류가 발생하였습니다.

13:06:51,379 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
javax.servlet.ServletException: OncePerRequestFilter just supports HTTP requests
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:62)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)


조금 전의 노하우를 살려서 servlet 관련 라이브러리가 있는지를 확인하였습니다.

대충 의심스러운 jar 파일이... servlet-api.jar

위의 jar 을 제거하고 재기동하니 정상 동작합니다.


이런 건 원인 분석하기도 어렵네요;;; 일단 문제가 먼지도 알기 힘들고...

Posted by 자수씨
, |

금일 서버 반영 도중 뜬금 없이 아래 에러를 발견하였습니다.

2010-04-20 12:53:18,970 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) deploy, ctxPath=/
2010-04-20 12:53:19,168 ERROR [org.jboss.web.tomcat.service.deployers.JBossContextConfig] (main) XML error parsing: context.xml
org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser
        at org.jboss.xb.binding.UnmarshallerFactory$UnmarshallerFactoryImpl.newUnmarshaller(UnmarshallerFactory.java:100)

Failed to create a new SAX parser
외국 사이트를 뒤지다 보니 xerces 파서가 webapps 의 lib 에 있어 서로 호환이 되지 않는 다는 것을 확인하였습니다.

역시나... 우리 webapps 에는 xercesImpl-2.6.2.jar 가 있었습니다.

제거 후 재시작!!! 서버는 정상적으로 올라왔으나... 이제는 다른 문제가...


Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백