분명한건, NTLM 처리후부터는 가우스가 POST 방식으로 데이터를 읽을때, 해당 서블릿을 못읽어오는게 확실합니다. 아래 코드에서, 'admin.RetrieveTopMenu.gau' 가 call하는 서블릿들이 전혀 수행되지 않습니다.
gtrRetrieveMenu.Parameters = "gscpRoleId=<c:out value="${userSession.roleId}"/>";
gtrRetrieveMenu.KeyValue = "Sevlet(O:OneDepthMenu=gdsOneDepthMenu,O:TwoDepthMenu=gdsTwoDepthMenu)";
gtrRetrieveMenu.post();
...
<jsp:include page="/common/include/basicTr.jsp">
<jsp:param name="ID" value="gtrRetrieveMenu"/>
<jsp:param name="Action" value="/admin.RetrieveTopMenu.gau"/>
<jsp:param name="StatusResetType" value="0"/>
</jsp:include>
기타 오류가 날때 항상 같이 뜨는 오류입니다.
아래 오류외에는 다른오류는 전혀 없습니다.
<2012. 3. 30 오전 10시 16분 46초 KST> <Error> <HTTP> <BEA-101019> <[weblogic.servlet.internal.WebAppServletContext@1220575 - appName: 'DSESCM', name: 'webapp', context-path: ''] Servlet failed with IOException
java.io.IOException: Corrupt form data: premature ending
at com.gauce.filter.GauceFilter.A(Unknown Source)
at com.gauce.filter.GauceFilter.B(Unknown Source)
at com.gauce.filter.GauceFilter.doFilter(Unknown Source)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3242)
Truncated. see log file for complete stacktrace
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : DSESCM
>* GAUCE 버전 : 4.0
>* WAS 종류(WebLogic 등등) : 9.2
>* DB 종류 : ORACLE 11G
>* 문의 유형(질문/요청/참조) : TRNS-5077오류
>* 내용 :
>해당 오류가 아래와 같은 형태로 조회하는경우 항상 나타납니다.
>
> gtrRetrieve.Parameters = v_Uri.GetParameters();
> gtrRetrieve.Action = "/dynamic.RetrieveInventorySalesMgmt.gau";
> gtrRetrieve.KeyValue = "Servlet(O:InventorySales=gdsInventorySales)";
> gtrRetrieve.post();
>
>...
><jsp:include page="/common/include/basicTr.jsp">
> <jsp:param name="ID" value="gtrRetrieve"/>
> <jsp:param name="StatusResetType" value="0"/>
></jsp:include>
>
>------
>위와 같은 형태가 아닌, 일반 grid.Reet() 형태로 call 할경우는 문제가 되지 않습니다.
>어떻게 해결해야하나요?
>
>참고적으로 저희가 여러가지로 테스트 해서 알아낸 현상을 더 말씀드리겟습니다.
>1. 저희가 로그인하는 방식이 두가지인데, 로그인 창이 뜨는 manual 방식의 로그인은 문제가 안되고
> sso login 시 id 오류로 다시 manual 로그인 창이 떴을경우 항상 문제가됩니다.
> (이외 sso login 성공시에도 위와같은 현상이 간헐적 발생하는거 같습니다. <- 패턴이 정확치 않으나 항상 위와같은 코딩으로 들어간부분에서만 오류나는것으로 보임.)
>
>2. 이상한점은 80 포트인 기본 도메인 URL로 호출하면 어떤경우에도 발생하지 않습니다.
> 즉 포트가 붙은 서버들은 모두 위와 동일한 오류가 뜹니다.
>
>3. 추가적으로 말씀드리자면. SSO 통한 ID 오류에 의해 IFRAME 이 여러번 생성되서 그러는거 아닌가 의심해서, IFRAME 쪽을 제거하고 해보았는데, 역시 잘 안되었습니다. (ssologin.jsp 를 통하게 되면 무조건 오류발생합니다.)
>
>
>첨부파일 설명 :
>manualIndex.html <- 직접 창에 로그인할때 혹은 sso 로그인안되었을시 다시 부를때 사용하는 page
>index.html <- sso 체크 page (기본 page)
>
>id 가 없는경우 user 는 notscm 으로 설정되어 index.html->ssoprelogin.jsp -> ssologin.jsp -> loginAuthority.jsp -> manualIndex.html 로 호출됨. 이때 오류가 항상 발생.
>
>------------ 추가사항입니다. ---------------
>계속 테스트 해본결과 ssologin.jsp 에서 NTLM 처리하는부분이 있는경우에만 해당 오류가 발생되었습니다.
> response.setHeader("WWW-Authenticate", "NTLM");
> response.flushBuffer();
>
>저런설정이 있는경우만 발생하는걸로 파악되었는데,
>왜 PORT 가 없는 MAIN DOMAIN 은 같은소스인데도 오류가 안나는지 모르겠고.
>여튼, SSO 처리를 위해서 안쓸수 없는데.. 방법이 없을가요/
>
>