'RC 프로젝트'에 해당되는 글 4

  1. 2011.11.24 [EP] JSTL(Apache Taglibs 1.0) 사용하기 1
  2. 2011.11.13 RFC 호출시 추가된 테이블을 불러오지 못함
  3. 2011.10.06 VPN으로 접속시 오라클, FTP 접속만 안됨
  4. 2011.09.25 Unix에서 Oracle 사용자 찾아서 sqlplus 실행시키기

[EP] JSTL(Apache Taglibs 1.0) 사용하기 1

- 환경
ServerInfo : SAP J2EE Engine/7.00
Servlet : 2.3
JSP : 1.2
web.xml 을 수정할 수 없음.

- JSTL (Apache Taglibs 1.0 구현체)을 사용하려고 함.
Tomcat 4, 5에서는 예제(standard-examples.war)가 잘 동작함.

- jstl.jar, standard.jar를 PORTAL-INF/lib/에 넣는다.

test.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
com.sapportals.portal.prt.servlets_jsp.server.jsp.ParseException:  Error in parsing taglib 'http://java.sun.com/jstl/core' tag in web.xml or .tld file of the taglib library.
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.JspTaglibDirective.verifyAttributes(JspTaglibDirective.java:189)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.JspDirective.parse0(JspDirective.java:162)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.JspDirective.parse(JspDirective.java:117)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.ElementCollection.parse(ElementCollection.java:86)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.ParserImpl.parse(ParserImpl.java:595)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2170)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:81)
        ...

tld 파일을 여기저기 넣어 보고 uri를 바꿔봐도 안됨.
(JSPCompiler를 디컴파일해서 uri를 어떻게 찾는지 보려고 했는데 어디에 있는지 찾지를 못했다.)

- htmlb를 사용하는 글을 보고 tld를 설정함.

portalapp.xml PORTAL-INF/taglib/에 c.tld를 넣는다.

test.jsp taglib 선언은 되는데 실제 사용할 때 에러가 발생한다.
com.sapportals.portal.prt.servlets_jsp.server.jsp.ParseException: java.lang.NullPointerException
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.TagBeginGenerator.init(TagBeginGenerator.java:148)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.xmlsyntax.CustomJspTag.action(CustomJspTag.java:114)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.syntax.ElementCollection.action(ElementCollection.java:47)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPParser.parse(JSPParser.java:2170)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.compile(JSPCompiler.java:81)
        at com.sapportals.portal.prt.servlets_jsp.server.jsp.JSPCompiler.run(JSPCompiler.java:140)
        at com.sapportals.portal.prt.core.broker.JSPComponentItem.compileJSP(JSPComponentItem.java:291)
        ...

- SAP NetWeaver 04, 7.1이 JSP 1.2를 지원하지 않는다고 함.
javax.servlet.jsp.JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion()의 리턴값은 1.2인데...

- 커스텀 태그라이브러리를 작성해 보니 JSP 1.1 형식으로는 가능
Taglibs의 c.tld를 1.1형식으로 변경하면 가능할 거 같다.

RFC 호출시 추가된 테이블을 불러오지 못함

- RFC에 테이블이 추가되어서 작업을 함.
그런데 com.sapportals.connector.metadata.functions.IParameter#getStructure()이 null을 리턴한다.
해당 테이블을 불러오지 못하는거 같다.

- 그러다 저녁에 테스트를 하니 제대로 인식을 한다.

- 누구말로는 캐시 문제일수도 있다고 하고

- 다른 프로젝트에서는 RFC가 변경되면
SAP Connector를 다시 시작시켜야 한다고 한다.
JCo RFC Provider 서비스를 이용하는 경우에는 리스터를 다시 시작시킨다.

VPN으로 접속시 오라클, FTP 접속만 안됨

EP, telnet 접근 모두 됨.
그런데 오라클, FTP 접속만 안됨.
아마 방화벽 문제인듯.

해결했는지 10월 초부터는 접속이 된다.

Unix에서 Oracle 사용자 찾아서 sqlplus 실행시키기

root로 작업중에 sqlplus를 실행시키지 못하고 있음.

$ cat /etc/passwd //어떤 사용자가 있나
root:!:0:0:-  KR/E/000070//system admin:/:/usr/bin/ksh
daemon:!:1:1:-  KR/E/000070//system admin:/etc:
...
xxxadm:!:417:404:SAP System Administrator:/home/xxxadm:/bin/csh
oraxxx:!:418:406:SAP Database Administrator:/oracle/XXX:/bin/csh //오라클 사용자다.

$ su - oraxxx

> env
PATH=/oracle/XXX/99_64/bin:/oracle/XXX:/usr/sap/XXX/SYS/exe/run:/usr/bin:/etc:/usr/sbin:/usr/ucb:/oracle/XXX/bin:/usr/bin/X11:/sbin:.
...
LANG=en_US
LOGIN=oraxxx
SAPSYSTEMNAME=XXX
DIR_LIBRARY=/usr/sap/XXX/SYS/exe/run
dbms_type=ORA
dbs_ora_tnsname=XXX
ORACLE_SID=XXX
DB_SID=XXX
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/XXX/99_64
NLS_LANG=AMERICAN_AMERICA.UTF8
SAPDATA_HOME=/oracle/XXX
NLSPATH=/usr/lib/nls/msg/%L/%N:/usr/lib/nls/msg/%L/%N.cat
LIBPATH=/usr/lib:/lib:/usr/sap/XXX/SYS/exe/run:/oracle/XXX/99_64/lib

> sqlplus orauser

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Sep 25 20:01:15 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning and Data Mining options