weblogic에서 HttpsURLConnection을 사용할 때
다음과 같은 에러가 나는 경우가 있다.
java.lang.ClassCastException: weblogic.net.http.SOAPHttpsURLConnection cannot be cast to javax.net.ssl.HttpsURLConnection
openConnection()을 할 때
weblogic이 SOAPHttpsURLConnection을 리턴해버리기 때문이다.
해결 방법은 생각보다 간단하다.
URL 객체를 생성할 때 다음과 같은 형태로 sun.net.www.protocol.https.Handler 핸들러를 삽입해주면
webloginc이 openConnection()을 할 때 HttpsURLConnection을 리턴하도록 강제할 수 있다!(URL 객체를 다음과 같이 선언할 수 있다는 사실을 전혀 몰랐다. 정말 신비로운 것 같다!)
URL url = new URL("https", "devap.nexicure.net", 9443, "https://devap.nexicure.net:9443/validSSO.do", new sun.net.www.protocol.https.Handler());
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
weblogic 서버의 프로퍼티를 수정하는 방법이 가장 간단하지만
실무에서 서버를 수정하기가 곤란한 경우 위의 방법을 추천한다.
'IT노트(구) > Java' 카테고리의 다른 글
(Java) 특정 날짜의 요일을 구하는 함수 (0) | 2016.04.19 |
---|---|
에러 해결 방법 - java.lang.IllegalArgumentException: Illegal pattern character 'Y' (0) | 2016.04.15 |
HttpURLConnection를 쿠키를 품은 상태로 호출하는 방법 (0) | 2016.03.28 |
url로 데이터를 전송할 때 +가 공백으로 인지되는 문제 (0) | 2016.03.27 |
에러 해결 방법 - com.jcraft.jsch.JSchException: UnknownHostKey.. A key fingerprint is .. (0) | 2016.03.08 |