블로그 이미지
올해목표 // 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)
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
 
02-21 13:35
 

달력

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

최근에 올라온 글

최근에 달린 댓글


JBossWS를 이용하여 웹 서비스를 배포하면 편한 점도 있지만 치명적인 단점도 포함하고 있습니다.

JBossWS 의 soap:address location 은 JBoss 를 띄운 서버의 리얼 IP 를 이용하여 배포를 하게 되는 것입니다. 만약 서버의 리얼 IP가 10.101.111.135 라면 아래와 같은 형태로 wsdl 이 배포될 것 입니다.


위와 같이 배포된 웹 서비스가 문제를 일으킬 수 있는 환경은 다음과 같습니다.
1. 내부 보안 정책 상 80 포트만 열려 있고 8080 포트가 막힌 경우
2. L4 를 통하여 로드벨런싱으로 구성된 멀티 서버의 경우 (1번과 같이 8080 포트가 오픈되지 않을 확률이 높음)
3. 리얼 IP 와 외부로 노출된 IP 가 다른 경우


이럴 경우 아래와 같이 별도의 jsp 를 만들어서 배포하는 것이 좋습니다.


80 포트가 열려있는 상태에서 AJP 를 통해 정상적으로 JBoss 쪽으로 요청만 넘겨진다면 정상적으로 웹 서비스를 사용할 수 있을 것 입니다.



Posted by 자수씨
, |

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

다행히 회사에서 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 자수씨
, |

글 보관함

최근에 받은 트랙백