IllegalStateException : sesssion.invalidate() with sp9

          I am using Weblogic 5.1 with sp9. I was told this has been fixed in sp12 but I need
          to fix this with sp9 for now. Just wondering if anyone found an easy fix for sp9.
          When I use session.invalidate()in JSP page, it throws IllegalStateException if it
          is first JSP page or servlet (i.e. first session) in that browser. <%session.invalidate();%>
          is the last line of this JSP.
          java.lang.IllegalStateException: HttpSession is invalid
          at weblogic.servlet.internal.session.SessionData.getAttribute(SessionDat
          a.java:159)
          at weblogic.servlet.internal.session.SessionData.getValue(SessionData.ja
          va:131)
          at weblogic.servlet.internal.ServletRequestImpl.getRemoteUser(ServletReq
          uestImpl.java:668)
          at weblogic.t3.srvr.httplog.CLFLogger.log(CLFLogger.java:46)
          at weblogic.t3.srvr.httplog.LogManagerHttp.log(LogManagerHttp.java:421)
          at weblogic.t3.srvr.HttpServer.log(HttpServer.java:882)
          at weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
          ContextManager.java:309)
          at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
          a:365)
          at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
          I guess the following is the reason. When this JSP gets compiled, try catch finally
          block is generated surrounding session.invalidate(). After current session gets invalidated,
          finally block is executed and it seems that's where the exception gets thrown.
          // this is generated by compiler
          finally{
          while (_activeTag != null) {
          // release() all active tags...
          Tag tmpTag = activeTag;
          activeTag = activeTag.getParent();
          try { _tmpTag.release(); } catch (Exception __ignore) {}
          I can't think clean simple fix for this. Either change this compiled java code manually
          (put another try catch inside finally) or use server side redirection and put session.invalidate
          in second page. Both workarounds are pretty ugly.
          

Hi
This works, here is a sample I've run on OC4J
public class SessionTestServlet extends HttpServlet
private static final String CONTENT_TYPE = "text/html";
HttpSession sess = null;
private static boolean login_page = true;
public void init(ServletConfig config) throws ServletException
super.init(config);
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException
sess = request.getSession(true);
try
if (login_page)
if(sess != null)
sess.invalidate();
sess = request.getSession(true);
sess.setAttribute("name","kalle");
catch(Exception e)
e.printStackTrace();
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println
("<head><title>SessionTestServlet</title></head>");
out.println("<body>");
out.println("<p>Session: "+ sess+"<p>Name: "+
sess.getAttribute("name"));
out.println("</body></html>");
out.close();
Regards
//Mike

Similar Messages

  • Installation failed NW2004s with SP9 (Java Trail Version) failed

    Hi All,
    I am trying to install NW2004s with SP9 (Java Trail Version) , that's failing Phase 14 of 32 in CreateDatabaseInstance failing.
    <b>This is the log :
    </b>
    ERROR 2007-05-19 19:43:40
    The dbmcli call for action PARAM_INIT_INST failed. Check the logfile XCMDOUT.LOG.
    ERROR 2007-05-19 19:43:53
    The dbmcli call for action PARAM_INIT_INST failed. Check the logfile XCMDOUT.LOG.
    ERROR 2007-05-19 19:43:53
    FCO-00011  The step sdb_init_instance_type with step key |NW_Java_OneHost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|1|0|NW_CreateDBandLoad|ind|ind|ind|ind|9|0|NW_CreateDB|ind|ind|ind|ind|0|0|NW_ADA_DB|ind|ind|ind|ind|6|0|SdbPreInstanceDialogs|ind|ind|ind|ind|3|0|SdbInstanceDialogs|ind|ind|ind|ind|1|0|SDB_INSTANCE_CREATE|ind|ind|ind|ind|0|0|sdb_init_instance_type was executed with status ERROR .
    Please suggest what is going wrong.
    Thanks in advance.
    AW

    I got the same error, this is from my XCMDOUT.LOG
    > Subprocess starts at 20070528020028
    Execute Command : c:\sapdb\programs\pgm\dbmcli.exe -n microdot-c01534 -d J2E -u CONTROL,******** db_start
    Execute Session Command : exit
    > Subprocess stops at 20070528020029
    > Subprocess call failed
    ERR
    -24961,ERR_STATE: cannot determine current db state

  • Problem with sp9

    hi,
    When we update sp8 to sp9, there is one jsp page not working.
    method: _jspService signature:
    Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletRespon
    se;)V) Register 12 contains wrong type
    at java.lang.Class.newInstance0(Native Method)
    at java.lang.Class.newInstance0(Compiled Code)
    at java.lang.Class.newInstance(Compiled Code)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(Compiled
    Code)
    at
    weblogic.servlet.internal.ServletStubImpl.createInstances(Compiled Code)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(Compiled
    Code)
    at weblogic.servlet.jsp.JspStub.prepareServlet(Compiled Code)
    at weblogic.servlet.jsp.JspStub.checkForReload(Compiled Code)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(Compiled
    Code)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
    Code)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(Compiled Code)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.invokeServlet(Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
    at weblogic.kernel.ExecuteThread.run(Compiled Code)
    Did anyone get same jsp issue with sp9?
    Our environment is WL5.1 WL JDriver Oracle815 Client + Oracle815
    Server + Solaris 2.6
    Any suggestion would be greately appreciated!
    Thanks!

    I have the same problem, (WL5.1, java 1.2.2_07, Solaris 7),
    after adding '-noverify' to java starting parameters, it looks ok.
    "[email protected]" <[email protected]> wrote:
    >
    Perhaps you are using a JDK that needs inlining turned off - See the
    platform support
    page -
    http://www.weblogic.com/docs51/platforms/index.html
    "Louis" <[email protected]> wrote:
    I tried that way. I was not working.
    JDK.1.2.2_07
    Thanks!
    "mike" <[email protected]> wrote in message
    news:[email protected]...
    never seen that before.
    try deleting all the .class files generated from jsps. then
    restart your server.
    what jdk?
    mike
    "Louis" <[email protected]> wrote:
    hi,
    When we update sp8 to sp9, there is one jsp page not working.
    method: _jspService signature:Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletRespon
    se;)V) Register 12 contains wrong type
    at java.lang.Class.newInstance0(Native Method)
    at java.lang.Class.newInstance0(Compiled Code)
    at java.lang.Class.newInstance(Compiled Code)
    atweblogic.servlet.internal.ServletStubImpl.createServlet(Compiled
    Code)
    at
    weblogic.servlet.internal.ServletStubImpl.createInstances(CompiledCode)
    atweblogic.servlet.internal.ServletStubImpl.prepareServlet(Compiled
    Code)
    at weblogic.servlet.jsp.JspStub.prepareServlet(Compiled Code)
    at weblogic.servlet.jsp.JspStub.checkForReload(Compiled Code)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(Compiled
    Code)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(Compiled
    Code)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(CompiledCode)
    at
    weblogic.servlet.internal.ServletContextImpl.invokeServlet(CompiledCode)
    at
    weblogic.servlet.internal.ServletContextManager.invokeServlet(Compiled
    Code)
    at weblogic.socket.MuxableSocketHTTP.invokeServlet(CompiledCode)
    at weblogic.socket.MuxableSocketHTTP.execute(Compiled Code)
    at weblogic.kernel.ExecuteThread.run(Compiled Code)
    Did anyone get same jsp issue with sp9?
    Our environment is WL5.1 WL JDriver Oracle815 Client + Oracle815
    Server + Solaris 2.6
    Any suggestion would be greately appreciated!
    Thanks!

  • Portlet question- session.invalidate()- with weblogic

    Guys:
    Has anyone had a issue with session.invalidate() using weblogic 8.1.
    we have vignette and weblogic 8.1.
    the problem i have noticed is session.getId retunrns a extra timestamp string in the end. And i am thinking since this changes the entire sessionid, it does not get invalidated. I tried adjusting the weblogic.xml's idlength session-param to 52 but this still happens after that. can anyone suggest any insights. i am unable to kill the session and hence the user is always logged in. the only way is to close to broswer window.
    session id:
    F1z2YTQMyD3Yy1Xs4VBHyq3M7LWVfYMnvWJgYLnrR3cPYnKL9NW9!-682555724!1170191618061
    any help will be appreciated..thanks.
    Harsh

    i havent gone to weblogic support yet. Want to check
    if anyone of us might have seen a similar issue.I haven't used weblogic in a while. I doubt many people here have. I would suggest you ask on a weblogic forum. This is a java forum.

  • Having issues with SP9 and IDMUI5/IDMREST SCA files

    Hello,
    I've been working through an upgrade to SP9 and have run into two issues related to some SCA files. I'm hoping others might be able to shed some light on how to resolve them. The issues primarily focus on unresolved dependencies for files I'm unable to locate.
    *Prior to performing this upgrade I downloaded all relevant SP9 files.
    In performing this upgrade, I've followed these steps:
    1) update database schema. completed successfully
    2) upgrade the runtime components. completed successfully
    3) upgrade the management console. completed successfully
    4) deploy IDM user interface on NW 7.3. This is where I ran into problems.
    Problem #1 - the IDMUI5 SCA file does not pass the validation check.
    - it states there is an unresolved dependency.
    - sap.com/tc~idm~rest~ear was not found
    Problem #2 - the IDMREST SCA file does not pass the validation check.
    - it states there are two unresolved dependencies
    - sap.com/tc~odata4j~primary was not found
    - sap.com/tc~jax~rs~primary was not found
    What I'd like to understand is where the files required by IMDUI5 and IDMREST exist and how to complete the upgrade for them.
    Thanks, Paul

    I think this is the odata4 that you need for 7.3
    SCA
    ODATACXFEXT11_0-10012140.SCA
    SP11 for SAP ODATA4J+CXF-REST LIB 7.30
    0
    Info
    10352
    26.02.2014
    This might be the only package you need; it might be in your best interest to avoid manually downloading files and rely upon Solution Manager's MOpz feature to query your IdM system and let it track down all the needed packages.

  • ViewExpiredException issue with session invalidate on IE9

    Hi guys,
    I have posted this on the ADF forum as well as I'm not sure of the root cause is JHeadstart related or not - but I thought I would check also here to see if anyone else has encountered this ...
    I'm using JDeveloper 11.1.1.6 (JHeadstart 11.1.1.4.26) and having problems when calling "session.invalidate();" with my custom JhsAuthenticationFilter. If i log on and immediately log out (so no web.xml timeout which is set to 25 min) - The message shown on screen is
    "Because of inactivity, your session is timed out and is no longer active. Click on OK to reload the page"
    In the log files, the following error is thrown
    <BindingContext> <put> [3126] Replacing: null with: XXXXX_UIShellPageDef
    <StateManagerImpl> <restoreView> Could not find saved view state for token -a6jozll3a
    <LifecycleImpl> <_handleException> ADF_FACES-60098:Faces lifecycle receives unhandled exceptions in phase RESTORE_VIEW 1
    javax.faces.application.ViewExpiredException: viewId:/pages/UIShell.jspx - ADF_FACES-30107:The view state of the page has expired.  Reload the page.
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._restoreView(LifecycleImpl.java:751)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:374)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at hmdclinical.pulse.view.PulseAuthenticationFilter.doFilter(PulseAuthenticationFilter.java:273)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    <ADFLogger> <addContextData> Execute queryI have the web.xml parameter org.apache.myfaces.trinidad.CLIENT_STATE_MAX_TOKENS set to 15.
    This ONLY happens when using IE9 - using Firefox or Chrome it's not a problem. I'm guessing something is trying to access the page def after the token for the view has already been removed as part of the session.invalidate() ?
    How can I find out what the root cause is and why is this only a problem with IE and not Chrome or Firefox ?
    Any help greatly appreciated !!
    Cheers,
    Brent

    Brent,
    I think it is best to make a very simple testcase without JHeadstart (you can cust and paste code from the jhs auth fillter as needed) and then attach your testcase to the post on JDev forum, or copntact Oracle support.
    Looks like a browser-specific ADF bug to me.
    Steven Davelaar,
    JHeadstart Team.

  • Sp9 / pre-release / problem with jsp tags

              WLS 5.1, sp9 pre-release, solaris 2.7, WLCS 3.2
              JSP compile fails with the exception...
              weblogic.servlet.jsp.JspException: (line -1): Error in tag library
              at: 'wl':
              The Tag class 'weblogicx.jsp.tags.CacheTag' has no setter method
              corresponding to
              TLD declared attribute 'async', (JSP 1.1 spec, 5.4.1)
              at weblogic.servlet.jsp.StandardTagLib.jspException(StandardTagLib.java:138)
              at weblogic.servlet.jsp.StandardTagLib.processTag(StandardTagLib.java:264)
              at weblogic.servlet.jsp.StandardTagLib.processTagElements(StandardTagLib.java:146)
              at weblogic.servlet.jsp.StandardTagLib.<init>(StandardTagLib.java:125)
              at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:95)
              at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:3873)
              at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:3623)
              at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:3484)
              at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:1817)
              at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1658)
              at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1548)
              at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:888)
              at weblogic.servlet.jsp.JspParser.doit(JspParser.java:69)
              at weblogic.servlet.jsp.JspParser.parse(JspParser.java:125)
              at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:109)
              at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:242
              

              It could just be me - I an un-jarred a version of weblogic-tags-510.jar where WLS
              could find it.
              mike
              Kumar Allamraju <[email protected]> wrote:
              >Yes, my JSP is referring the tag libs. I 'm using counter example given
              >in
              >examples/jsp/tagext/counter directory
              >
              ><NT Performance Pack> NATIVE: created IoCompletionPort successfully.
              >I
              >oPort=0x000001d4
              >Sun Apr 01 12:44:00 PDT 2001:<I> <WebLogicServer> WebLogic Server star
              >ted
              >Sun Apr 01 12:44:40 PDT 2001:<I> <NT Performance Pack> Allocating: '2'
              > NT reader threads
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: init
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > verbose initialized to: true
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > packagePrefix initialized to: jsp_servlet
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > compileCommand initialized to: c:/java/java122/bin/javac.exe
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > srcCompiler initialized to weblogic.jspc
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > superclass initialized to null
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > workingDir initialized to: D:\releases\510\myserver\classfiles
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: param
              > pageCheckSeconds initialized to: 1
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: Using
              > Encoding : ISO-8859-1 when constructing PrintWriter instead of Servle
              >tOutputStream
              >Sun Apr 01 12:44:41 PDT 2001:<I> <ServletContext-General> *.jsp: initi
              >alization complete
              >Sun Apr 01 12:44:42 PDT 2001:<I> <ServletContext-General> looking for
              >taglib uri /counter.tld as resource /WEB-INF/counter.tld in Web Applic
              >ation root:
              >Sun Apr 01 12:44:43 PDT 2001:<I> <ServletContext-General> Generated ja
              >va file: D:\releases\510\myserver\classfiles\jsp_servlet\_pagehits.jav
              >a
              >Sun Apr 01 12:44:45 PDT 2001:<I> <ServletContext-General> file: init
              >
              >
              >what's the change number you get from weblogic.Admin VERSION?
              >
              >
              >--
              >Kumar
              >
              >Mike Reiche wrote:
              >
              >> From the zip file.
              >>
              >> It has to be a jsp that references those tag libraries.
              >> Other than that it works like a charm.
              >>
              >> Mike
              >>
              >> Kumar Allamraju <[email protected]> wrote:
              >> >Did you extracted the SP9 zip or exe?
              >> >I do not see the following errors when accessing a jsp with SP9? Could
              >> >you tell us how to
              >> >reproduce it?
              >> >
              >> >BTW, i will ask our docs folks to correct the startup scripts..
              >> >
              >> >--
              >> >Kumar
              >> >
              >> >Mike Reiche wrote:
              >> >
              >> >> I had to remove the 'async' attribute from taglib.tld
              >> >>
              >> >> And when I use WLCS I have to remove it from weblogic.tld
              >> >>
              >> >> And the startup scripts provided do not include weblogic-tags-510.jar
              >> >> in the classpath.
              >> >>
              >> >> Mike
              >> >>
              >> >> "Mike Reiche" <[email protected]> wrote:
              >> >> >
              >> >> >WLS 5.1, sp9 pre-release, solaris 2.7, WLCS 3.2
              >> >> >
              >> >> >JSP compile fails with the exception...
              >> >> >
              >> >> >weblogic.servlet.jsp.JspException: (line -1): Error in
              >> >> >tag library
              >> >> >at: 'wl':
              >> >> >The Tag class 'weblogicx.jsp.tags.CacheTag' has no setter
              >> >> >method
              >> >> > corresponding to
              >> >> >TLD declared attribute 'async', (JSP 1.1 spec, 5.4.1)
              >> >> > at weblogic.servlet.jsp.StandardTagLib.jspException(StandardTagLib.java:138)
              >> >> > at weblogic.servlet.jsp.StandardTagLib.processTag(StandardTagLib.java:264)
              >> >> > at weblogic.servlet.jsp.StandardTagLib.processTagElements(StandardTagLib.java:146)
              >> >> > at weblogic.servlet.jsp.StandardTagLib.<init>(StandardTagLib.java:125)
              >> >> > at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:95)
              >> >> > at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:3873)
              >> >> > at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:3623)
              >> >> > at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:3484)
              >> >> > at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:1817)
              >> >> > at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1658)
              >> >> > at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1548)
              >> >> > at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:888)
              >> >> > at weblogic.servlet.jsp.JspParser.doit(JspParser.java:69)
              >> >> > at weblogic.servlet.jsp.JspParser.parse(JspParser.java:125)
              >> >> > at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:109)
              >> >> > at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:242
              >> >
              >
              

  • Problem with netweaver developer studio for sp9

    Hi,
    Presenty we are on ep6 sp10 and we have downloaded dev studio for sp9 which is available on sdn.we have j2sdk1.4.2_06
    the problem is that when i deploy a par file from netweaver and try to create an iview based on that par it gives me the following error
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : N/A
    Component Name : N/A
    com.sapportals.portal.navigation.ToolAreaiView.
    Exception id: 04:25_03/03/05_0005_4061050
    See the details for the exception ID in the log file
    The strange thing is that if i use ep6 sp2 dev studio it works fine. So is there any problem with sp9 dev studio?

    I think that with NWDS the SP of the portal and NWDS much match.
    Hope it helps,
    Patrick.

  • Error in the standard htmlb.jar from EP6 SP9 (HTMLx)

    I've successfully migrated my custom developed applications from EP5 SP5 to EP6 SP9. I've used the well known 3rd party
    HTMLxframework for the DatePicker and Locale corrections only (I am a brazilian developer). 
    In the org.sapportals.htmlb.rendering there is a class named RenderUtil.
    This class has two places with this specific code:
    ResourceBundle r = ResourceBundle.getBundle("java.text.resources.LocaleElements", locale);
    Which is very wrong as the "java.text.resources.LocaleElements" is available only until j2sdk 1.3. In the EP5 that runs under 1.3 there's no problem but EP6 uses j2sdk 1.4 and this packages has been relocated from the standard package to a "ext" (extension) package and been renamed as "sun.text.resources.LocaleElements".
    So, as HTMLx uses this RenderUtil class, I had to decompile the original from the htmlb.jar using JAD and corrected the above line with the following new line or code:
    ResourceBundle r = ResourceBundle.getBundle("sun.text.resources.LocaleElements", locale);
    More than that, I had to change several places of the HTMLx's HxInputFieldRenderer to reflect the class name changes made to the CSSs of the EP6. In the new version SAP does not open a pop-up window for the DatePicker. Instead they chose to rewrite it as a dynamic layer. So the HTMLx code has to change to reflect that.
    Here follows the workaround version of HxInputFieldRenderer.java (notice that some strings are not internationalized, I just copied and pasted the parts I needed, so it's not a definitive version, but will help you get a clue of what to do):
    * HxInputFieldRenderer.java
    * Copyright (C) 2003  Alan Hobbs
    * This library is free software; you can redistribute it and/or
    * modify it under the terms of the GNU Lesser General Public
    * License as published by the Free Software Foundation; either
    * version 2.1 of the License, or (at your option) any later version.
    * This library is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    * Lesser General Public License for more details.
    * You should have received a copy of the GNU Lesser General Public
    * License along with this library; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    package org.open.sapportals.htmlx.rendering;
    import javax.servlet.jsp.PageContext;
    import org.open.sapportals.htmlx.HxField;
    import org.open.sapportals.htmlx.HxInputField;
    import org.open.sapportals.htmlx.HxLocaleUtil;
    import com.sapportals.htmlb.Component;
    import com.sapportals.htmlb.Form;
    import com.sapportals.htmlb.InputField;
    import com.sapportals.htmlb.enum.DataType;
    import com.sapportals.htmlb.enum.InputFieldDesign;
    import com.sapportals.htmlb.enum.ResourceType;
    import com.sapportals.htmlb.rendering.DefaultInputFieldRenderer;
    import com.sapportals.htmlb.rendering.IPageContext;
    import com.sapportals.htmlb.type.AbstractDataType;
    import com.sapportals.htmlb.type.DataDate;
    import com.sapportals.htmlb.type.DataString;
    import com.sapportals.htmlb.type.Date;
    import com.sapportals.portal.prt.component.IPortalComponentRequest;
    import com.sapportals.portal.prt.component.IPortalComponentResponse;
    import com.sapportals.portal.prt.logger.ILogger;
    import com.sapportals.portal.prt.runtime.PortalRuntime;
    import com.sapportals.portal.prt.service.urlgenerator.IUrlGeneratorService;
    import com.sapportals.portal.prt.service.urlgenerator.specialized.IPortalUrlGenerator;
    import com.sapportals.portal.prt.service.urlgenerator.specialized.ISpecializedUrlGenerator;
    * @author Alan.Hobbs
    * To change the template for this generated type comment go to
    * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
    * Render the HxInputField.
    * Version   Date         Author     Description
    * 0.1.0     1-Aug-2003   AHobbs     Origional
    * 0.1.0     4-Aug-2003   AHobbs     Added resource bundle
    * 0.1.1     6-Aug-2003   AHobbs     Write hidden fields to store the locale
    * 0.1.1     8-Aug-2003   AHobbs     Don't show the date picker button if the field is disabled
    * 0.1.2    10-Aug-2003   AHobbs     Only generate the month and day name javascript once per form
    * 1.1.0     1-Apr-2004   AHobbs     Added render methods to allow a HTMLB InputField
    *                                   to be used instead of a HxInputField
    * 1.1.0     6-Apr-2004   AHobbs     Changed the names for the hidden fields to "_HTMLX_xxxxx"
    * 1.1.0    20-Apr-2004   AHobbs     Allow debug code to be written to the console with System.out.println()
    * 1.3.0      4-May-2004  AHobbs     Added PopUp rendering
    public class HxInputFieldRenderer extends DefaultInputFieldRenderer {
        protected ILogger m_logger = PortalRuntime.getLogger("htmlx");
        private static boolean writingDebugToConsole;
        public HxInputFieldRenderer() {
            super();
        public void render(Component component, IPageContext pc)
            m_logger.info("Entry: HxInputFieldRenderer.render()");
            if (!(component instanceof HxInputField)) {
                m_logger.warning(
                    "HxInputFieldRenderer.render() component is not instanceof HxInputField " +
                    "(component.getClass().getName()='" + component.getClass().getName() + "')");
                return;       
            HxInputField inf = (HxInputField)component;
            DataType type = inf.getType();
            if (writingDebugToConsole) {
                System.out.println("Start    rendering HxInputField (id='" + inf.getId() + "') ...");
            m_logger.info("  id='" + inf.getId() + "'");
            m_logger.info(inf.toString());
    /*  Only include for PDK version 5.0.5.0 and above - may not be required ???
    //        m_logger.info("  VersionInfo.getVersion()='" + VersionInfo.getVersion() + "'");
    //      if (VersionInfo.?????) {
    //            if (pc.isUsingSession() && !inf.isVisible() && inf.getParkInSession()) {
    //                String uniqueName = pc.getParamIdForComponent(inf);
    //                Object value = inf.getValue();
    //                String valueString = null;
    //                if (value != null) {
    //                    if (value instanceof AbstractDataType) {
    //                        AbstractDataType dataValue = (AbstractDataType)value;
    //                        if (dataValue != null)
    //                            if (dataValue.isValid())
    //                                valueString = dataValue.toString(pc);
    //                            else
    //                            if (dataValue instanceof DataString)
    //                                valueString = dataValue.toString(pc);
    //                            else
    //                                valueString = dataValue.getValueAsString();
    //                    else {
    //                        valueString = value.toString();
    //                else {
    //                    valueString = "";
    //                pc.getParamList().put(uniqueName, valueString);
    //                return;
            boolean showDateHelp = false;
            if (DataType.DATE.equals(type)
            && inf.isShowHelp()
            && !inf.isDisabled()) {
                showDateHelp = true;
            boolean showPatternHint = false;
            if (inf.isShowPatternHint()
            && (DataType.DATE.equals(type)
            ||  DataType.TIME.equals(type))
            ||  ((inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0))) {
                showPatternHint = true;
            boolean showStatusMsg = false;
            if (inf.isShowStatusMsg() && (inf.getStatusMsg() != null) && (inf.getStatusMsg().length() > 0)) {
                showStatusMsg = true;
            if (showDateHelp || showPatternHint || showStatusMsg) {
                pc.write("<table cellspacing="0" cellpadding="0" border="0" id="");
                pc.write(""><tr><td>");
              String uniqueName = pc.getParamIdForComponent(inf);
            if (inf.isVisible()) {
                 pc.write("<span id="");
                   pc.write(uniqueName);
                 pc.write("-r" class="urEdfHelpWhl">");
                if (inf.isPassword())
                    pc.write("<input type="password" class="sapEdf");
                else
                    pc.write("<input type="text" class="sapEdf");
                if (inf.isInvalid())
                    pc.write("i");
                if (inf.isRequired())
                    pc.write("Req");
                else
                    pc.write("Txt");
                if (inf.isDisabled())
                    pc.write("Dsbl");
                else
                    pc.write("Enbl");
                if (inf.getDesign() == InputFieldDesign.SMALL)
                    pc.write("Sml");
                pc.write("" autocomplete="off");
                int mySize = inf.getSize();
                if (mySize > 0) {
                    pc.write("" size="");
                    pc.write(mySize);
                int maxlength = inf.getMaxlength();
                if (maxlength > 0) {
                    pc.write("" maxlength ="");
                    pc.write(maxlength);
                java.lang.String value = inf.getWidth();
                if (value != null && !"".equals(value)) {
                    pc.write("" style="width:");
                    pc.write(value);
                    pc.write(";");
                java.lang.String tooltip = inf.getTooltip();
                if (tooltip != null) {
                    pc.write("" title="");
                    pc.writeEncoded(tooltip);
                   pc.write(" onchange="return htmlbDoEvent(this,'TV','onchange','0','");
                   pc.write(uniqueName);
                   pc.write("',1,1,'',0);" "); 
                   pc.write(" onblur="return htmlbDoEvent(this,'TV','onblur','0','");
                   pc.write(uniqueName);
                   pc.write("',1,1,'',0);" ");
                if(inf.isDisabled())
                    pc.write("" readonly="");
            else {
                pc.write("<input type="hidden");
            pc.write("" name="");
            pc.write(uniqueName);
            if (inf.isLabeled()) {
                pc.write("" id="");
                pc.write(uniqueName);
            Object value = inf.getValue();
            pc.write("" value="");
            if (value != null) {
                String valueString = null;
                if (value instanceof AbstractDataType) {
                    m_logger.info("-- Abstract Data Type");
                    AbstractDataType dataValue = (AbstractDataType)value;
                    if (dataValue != null) {
                        m_logger.info("-- dataValue != null");
                        if (dataValue.isValid()) {
                            m_logger.info("-- dataValue.isValid()");
                            if (dataValue instanceof DataDate) {
                                m_logger.info("-- dataValue instanceof DataDate");
                                Date date = ((DataDate)dataValue).getValue();
                                valueString = HxLocaleUtil.formatDate(date, pc.getLocale());
                            else {                       
                                m_logger.info("-- NOT dataValue instanceof DataDate");
                                valueString = dataValue.toString(pc);
                        else if (dataValue instanceof DataString) {
                            m_logger.info("-- dataValue instanceof DataString");
                            valueString = dataValue.toString(pc);
                        else {
                            m_logger.info("-- dataValue.getValueAsString()");
                            valueString = dataValue.getValueAsString();
                else {
                    // Not Abstract Data Type
                    m_logger.info("-- Not Abstract Data Type");
                    valueString = value.toString();
                pc.writeEncoded(valueString);
            pc.write(""/>");
            if (showDateHelp) {
                String dateFormat  = HxLocaleUtil.getSapDatePatternNumber(pc.getLocale());       
                   pc.write("</td><td align='left'><button id='");
                   pc.write(uniqueName);
                   pc.write("-btn' type="button" tabindex="-1" ti="-1" class="urEdfHlpDate" onclick="htmlb_showDateHelp(event,'");
                   pc.write(uniqueName);
                   pc.write("','");
                   pc.write(dateFormat);
                   pc.write("','1')"></button>");
                   pc.write("<script>htmlb_addTexts('pt_BR',{SAPUR_OCTOBER:"Outubro",SAPUR_MSG_LOADING:"Processo de carga em andamento"," +
                        "SAPUR_SUNDAY_ABBREV:"Do",SAPUR_F4FIELD_TUTOR:"Pressionar F4 para exibir as entradas possíveis"," +
                        "SAPUR_INVALID:"Não válido",SAPUR_FEBRUARY:"Fevereiro",SAPUR_F4FIELD:"F4- campo de entrada"," +
                        "SAPUR_FRIDAY_ABBREV:"6ª",SAPUR_WEDNESDAY_ABBREV:"4ª",SAPUR_MAY:"Maio",SAPUR_MSG_WARNING:"Advertência"," +
                        "SAPUR_DECEMBER:"Dezembro",SAPUR_SEPARATOR:"-",SAPUR_MSG_SUCCESS:"Com êxito",SAPUR_SATURDAY_ABBREV:"Sa"," +
                        "SAPUR_THURSDAY_ABBREV:"5ª",SAPUR_MSG:"{0} {1} {2}",SAPUR_BUTTON_WHL:"{0} - {1} - {2} - {3}",SAPUR_JULY:"Julho"," +
                        "SAPUR_APRIL:"Abril",SAPUR_FIELD_TIME:"Hora",SAPUR_MSG_ERROR:"Erro",SAPUR_REQUIRED:"Necessário"," +
                        "SAPUR_BUTTON_WHL3:"{0} - {1} - {2}",SAPUR_SEPTEMBER:"Setembro",SAPUR_NOVEMBER:"Novembro",SAPUR_AUGUST:"Agosto"," +
                        "SAPUR_JANUARY:"Janeiro",SAPUR_BUTTON:"Botão",SAPUR_FIELD_PW:"Senha",SAPUR_FIELD:"Texto editável"," +
                        "SAPUR_DISABLED:"Não disponível",SAPUR_FIELD_DATE:"Data",SAPUR_MARCH:"Março",SAPUR_FIELD_NUMBER:"N°"," +
                        "SAPUR_MSG_STOP:"Stop",SAPUR_BUTTON_WHL4:"{0} - {1} - {2} - {3}"," +
                        "SAPUR_BUTTON_ENABLED:"Para ativar, utilizar a barra de espaço",SAPUR_TUESDAY_ABBREV:"3ª",SAPUR_READOLNY:""," +
                        "SAPUR_MSG_JUMPKEY:"Pressionar a barra de espaço para navegar para o campo correspondente",SAPUR_JUNE:"Junho"," +
                        "SAPUR_MONDAY_ABBREV:"2ª"});</script>");
            if (showPatternHint) {
                String pattern        = "";       
                String patternTooltip = "";
                if (DataType.DATE.equals(type)) {
                    pattern        = HxLocaleUtil.getDatePatternInLocaleLanguage(pc.getLocale());       
                    patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.DatePatternTooltip", pattern);
                else if (DataType.TIME.equals(type)) {
                    pattern        = HxLocaleUtil.getTimePatternInLocaleLanguage(pc.getLocale());       
                    patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.TimePatternTooltip", pattern);
                    pattern = " " + pattern;
                else if ((inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0)) {
                    pattern = " " + inf.getPatternHint();
                    patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.PatternTooltip", pattern);
                pc.write("</td><td align='left'>");
                pc.write("<span class='sapTxtLeg' title='" + patternTooltip + "'><nobr>");
                pc.write("<font color='666666' face='Microsoft Sans Serif' style='vertical-align:super' size='1'><b>" + pattern + "</b></font>");
                pc.write("</nobr></span>");
            if (showStatusMsg) {
                if (inf.getStatusMsgPosition().equalsIgnoreCase("RIGHT")) {
                    pc.write("</td><td align='left'>");
                    pc.write("<font color='990000' face='Microsoft Sans Serif' size='1'>");
                else if (inf.getStatusMsgPosition().equalsIgnoreCase("BELOW")) {
                    pc.write("</td></tr><tr>");
                    if (showDateHelp && showPatternHint) {
                        pc.write("<td align='left' colspan='3'>");
                    else if (showDateHelp ^ showPatternHint) {      // '^' is Exclusive OR (XOR)
                        pc.write("<td align='left' colspan='2'>");
                    else {
                        pc.write("<td align='left'>");
                    pc.write("<font color='990000' face='Microsoft Sans Serif' style='verticle-align:super' size='1'>");
                pc.write("<nobr>" + inf.getStatusMsg() + "</nobr>");
                pc.write("</font>");
            if (showDateHelp || showPatternHint || showStatusMsg) {
                pc.write("</td></tr></table>");
            // Generate code to store the current Locale in the HTML form,
            // and make the month and day names available in javascript arrays.
            // The form's Language attribute is used as a flag so that this is only
            // done once for each form.
            Form form = pc.getCurrentForm();
            if ((form.getLanguage() == null)
            || (!form.getLanguage().equals(pc.getLocale().toString()))) {
                // Save the locale in the html form as hidden fields so that the
                // same locale can be used to parse returned data.
                pc.write("<input type="hidden" name="_HTMLX_LANGUAGE_" value="" + pc.getLocale().getLanguage() + "">");
                pc.write("<input type="hidden" name="_HTMLX_COUNTRY_"  value="" + pc.getLocale().getCountry()  + "">");
                pc.write("<input type="hidden" name="_HTMLX_VARIANT_"  value="" + pc.getLocale().getVariant()  + "">");
                // Write javascript arrays of month and day names in the locale language
                StringBuffer sb = new StringBuffer(250);
                String javaScriptPath = pc.getJavascriptPath();
                sb.append("var javaScriptPath='");
                sb.append(javaScriptPath);
                sb.append("';");
                java.lang.String dayNames[] = RenderUtil.getDayAbbreviations(pc.getLocale());
                if (dayNames.length != 7) {
                    throw new IllegalStateException("Only locales with 7 days are supported!");
                sb.append("var htmlbDayNames = new Array('");
                for (int i = 0; i < 6; i++) {
                    sb.append(dayNames<i>);
                    sb.append("','");
                sb.append(dayNames[6]);
                sb.append("');n");
                sb.append("var htmlbMonthNames = new Array('");
                java.lang.String monthNames[] = RenderUtil.getMonthNames(pc.getLocale());
                for (int i = 0; i < 11; i++) {
                    sb.append(monthNames<i>);
                    sb.append("','");
                sb.append(monthNames[11]);
                sb.append("');n");
                java.lang.String jscript = sb.toString();
                pc.getDocument().getIncludes().addBodyEndResource(ResourceType.DIRECTJSCRIPT, "HTMLB_INPUTFIELD_DATEHELP", jscript);
                // Set the language in the form so we don't do this again       
                form.setLanguage(pc.getLocale().toString());
            if (writingDebugToConsole) {
                System.out.println("Finished rendering HxInputField (id='" + inf.getId() + "')");
            m_logger.info("Exit:  HxInputFieldRenderer.render()");
        //  Methods to allow the Standard HTMLB InputField to Mimic HxInputField
        //  The key idea here is to use the standard InputField ONLY as a String
        //  field (never Date) so that we have total control over the display format
        //  and then HTMLX looks after ofrmating the string, abd displaying the
        //  help icons, status messages etc.  
         * Render the HTML placed before a HTMLB InputField, an InputField,
         * and the code placed after the InputFIeld, so that it behaves like a
         * HTMLX HxInputField
         * @param field
         * @param pc
        public static InputField mimicRender(HxField hxField, IPageContext pc) {
            HxInputField hxInputField = new HxInputField(hxField, pc.getLocale());
            return mimicRender(hxInputField, pc);
         * Render the HTML placed before a HTMLB InputField, an InputField,
         * and the code placed after the InputFIeld, so that it behaves like a
         * HTMLX HxInputField
         * @param field
         * @param pc
        public static InputField mimicRender(HxInputField hxInputField, IPageContext pc) {
            // Render stuff before InputField
            renderBeforeInputTag(hxInputField, pc);
            // Render InputField
            InputField inputField = new InputField(hxInputField.getId());  
            setUpInputField(hxInputField, inputField, pc);
            // This is a kludge to make a field read only.  It is achieved by
            // adding the flag to the 'width' attribute.  HTMLB then unknowingly
            // adds the flag when it renders the 'width' attribute.
            if (hxInputField.isReadOnly()) {
                inputField.setWidth( inputField.getWidth() + ";" readonly="");
            inputField.render(pc);
            String uniqueName = pc.getParamIdForComponent(inputField);
            String popUpKeyUniqueName = "";
            // If the field has a Pop Up add a hidden field for the Key populated by the Pop Up
            if (hxInputField.isShowPopUp()) {
                InputField keyInputField = new InputField(hxInputField.getId() + "PopUpKey");  
                keyInputField.setVisible(false);
                keyInputField.setValue(hxInputField.getPopUpKeyValue());
                keyInputField.render(pc);
                popUpKeyUniqueName = pc.getParamIdForComponent(keyInputField);
            // Render stuff after InputField
            renderAfterInputTag(hxInputField, pc, uniqueName, popUpKeyUniqueName);
            return inputField;      
         * Render the HTML to be placed before a HTMLB InputField so that it
         * behaves like a HTMLX HxInputField
         * @param field
         * @param pc
        public static void renderBeforeInputTag(HxField field, IPageContext pc) {
            renderBeforeInputTag(new HxInputField(field), pc);
         * Render the HTML to be placed before a HTMLB InputField so that it
         * behaves like a HTMLX HxInputField
         * @param inf
         * @param pc
        public static void renderBeforeInputTag(HxInputField inf, IPageContext pc)
            if (writingDebugToConsole) {
                System.out.println("Start    rendering mimic HxInputField (id='" + inf.getId() + "') ...");
            if (showDateHelp(inf) || showPopUp(inf) || showPatternHint(inf) || showStatusMsg(inf)) {
                pc.write("<table cellspacing="0" cellpadding="0" border="0" id="");
                pc.write(""><tr><td>");
         * Set a HMTLB InputField with the values stored in the HxField.
         * This makes for less code in the JSP, and some versions of the PDK/EP
         * do not support some paramters in the TAG (e.g. Tooltip)
         * @param hxField
         * @param myContext
         * @param pageContext
        public static InputField setUpInputField(HxField hxField, IPageContext pc, PageContext pageContext) {
            Component component = (Component)pageContext.getAttribute(hxField.getId());
            if (!(component instanceof InputField)) {
                String msg =
                    "HxInputFieldRenderer.setUpInputTag() component is not instanceof InputField " +
                    "(hxField.getId()='" + hxField.getId() + "' " +
                    " component.getClass().getName()='" + component.getClass().getName() + "')";
                PortalRuntime.getLogger("htmlx").severe(msg);
                throw new IllegalArgumentException(msg);
            InputField inf = (InputField)pageContext.getAttribute(hxField.getId());
            setUpInputField(hxField, inf, pc);
            return inf;
         * Set a HMTLB InputField with the values in the HxField.
         * This makes for less code in the JSP, and some versions of the PDK/EP
         * do not allow you to set some paramters in the TAG (e.g. Tooltip)
         * @param hxField
         * @param myContext
         * @param pageContext
        public static void setUpInputField(HxField hxField, InputField inf, IPageContext pc) {
            inf.setDisabled(hxField.isDisabled());
            inf.setInvalid(hxField.isInvalid());
            inf.setMaxlength(hxField.getMaxLength());
            inf.setRequired(hxField.isRequired());
            inf.setShowHelp(false);
            inf.setTooltip(hxField.getTooltip());
            inf.setType(DataType.STRING);
            inf.setValue(hxField.getValueAsString(pc.getLocale()));
            inf.setVisible(hxField.isVisible());
            inf.setSize(hxField.getMaxLength());
         * Set a HMTLB InputField with the values stored in the HxField.
         * This makes for less code in the JSP, and some versions of the PDK/EP
         * do not support some paramters in the TAG (e.g. Tooltip)
         * @param hxField
         * @param myContext
         * @param pageContext
        public static void setUpInputField(HxInputField hxInputField, InputField inf, IPageContext pc) {
            inf.setDisabled(hxInputField.isDisabled());
            inf.setInvalid(hxInputField.isInvalid());
            inf.setMaxlength(hxInputField.getMaxlength());
            inf.setRequired(hxInputField.isRequired());
            inf.setShowHelp(false);
            inf.setTooltip(hxInputField.getTooltip());
            inf.setType(DataType.STRING);
            inf.setValue(hxInputField.getPreformattedValueAsString());
            inf.setVisible(hxInputField.isVisible());
            inf.setSize(hxInputField.getSize());
         * Render the HTML to be placed after a HTMLB InputField so that it
         * behaves like a HTMLX HxInputField
         * @param field
         * @param myContext
         * @param pageContext
        public static void renderAfterInputTag(HxField field, IPageContext pc, PageContext pageContext) {
            renderAfterInputTag(new HxInputField(field), pc, pageContext);
         * Render the HTML to be placed after a HTMLB InputField so that it
         * behaves like a HTMLX HxInputField
         * @param inf
         * @param myContext
         * @param pageContext
        public static void renderAfterInputTag(HxInputField inf, IPageContext pc, PageContext pageContext) {
            Component component = (Component)pageContext.getAttribute(inf.getId());
            String uniqueName = pc.getParamIdForComponent(component);
            String popUpKeyUniqueName = "";
            if (inf.isShowPopUp()) {
                component = (Component)pageContext.getAttribute(inf.getId() + "PopUpKey");
                popUpKeyUniqueName = pc.getParamIdForComponent(component);
            renderAfterInputTag(inf, pc, uniqueName, popUpKeyUniqueName);
         * Render the HTML to be placed after a HTMLB InputField so that it
         * behaves like a HTMLX HxInputField
         * @param inf
         * @param pc
         * @param uniqueName
         * @param popUpKeyUniqueName
        public static void renderAfterInputTag(
            HxInputField inf,
            IPageContext pc,
            String       uniqueName,
            String       popUpKeyUniqueName)
            if (showDateHelp(inf)) {
                String dateFormat  = HxLocaleUtil.getSapDatePatternNumber(pc.getLocale());       
                pc.write("</td><td align='left'><button id='");
                   pc.write(uniqueName);
                   pc.write("-btn' type="button" tabindex="-1" ti="-1" class="urEdfHlpDate" onclick="htmlb_showDateHelp(event,'");
                pc.write(uniqueName);
                pc.write("','");
                pc.write(dateFormat);
                pc.write("','1')"></button>");
                   pc.write("<script>htmlb_addTexts('pt_BR',{SAPUR_OCTOBER:"Outubro",SAPUR_MSG_LOADING:"Processo de carga em andamento"," +
                        "SAPUR_SUNDAY_ABBREV:"Do",SAPUR_F4FIELD_TUTOR:"Pressionar F4 para exibir as entradas possíveis"," +
                        "SAPUR_INVALID:"Não válido",SAPUR_FEBRUARY:"Fevereiro",SAPUR_F4FIELD:"F4- campo de entrada"," +
                        "SAPUR_FRIDAY_ABBREV:"6ª",SAPUR_WEDNESDAY_ABBREV:"4ª",SAPUR_MAY:"Maio",SAPUR_MSG_WARNING:"Advertência"," +
                        "SAPUR_DECEMBER:"Dezembro",SAPUR_SEPARATOR:"-",SAPUR_MSG_SUCCESS:"Com êxito",SAPUR_SATURDAY_ABBREV:"Sa"," +
                        "SAPUR_THURSDAY_ABBREV:"5ª",SAPUR_MSG:"{0} {1} {2}",SAPUR_BUTTON_WHL:"{0} - {1} - {2} - {3}",SAPUR_JULY:"Julho"," +
                        "SAPUR_APRIL:"Abril",SAPUR_FIELD_TIME:"Hora",SAPUR_MSG_ERROR:"Erro",SAPUR_REQUIRED:"Necessário"," +
                        "SAPUR_BUTTON_WHL3:"{0} - {1} - {2}",SAPUR_SEPTEMBER:"Setembro",SAPUR_NOVEMBER:"Novembro",SAPUR_AUGUST:"Agosto"," +
                        "SAPUR_JANUARY:"Janeiro",SAPUR_BUTTON:"Botão",SAPUR_FIELD_PW:"Senha",SAPUR_FIELD:"Texto editável"," +
                        "SAPUR_DISABLED:"Não disponível",SAPUR_FIELD_DATE:"Data",SAPUR_MARCH:"Março",SAPUR_FIELD_NUMBER:"N°"," +
                        "SAPUR_MSG_STOP:"Stop",SAPUR_BUTTON_WHL4:"{0} - {1} - {2} - {3}"," +
                        "SAPUR_BUTTON_ENABLED:"Para ativar, utilizar a barra de espaço",SAPUR_TUESDAY_ABBREV:"3ª",SAPUR_READOLNY:""," +
                        "SAPUR_MSG_JUMPKEY:"Pressionar a barra de espaço para navegar para o campo correspondente",SAPUR_JUNE:"Junho"," +
                        "SAPUR_MONDAY_ABBREV:"2ª"});</script>");
            if (showPopUp(inf)) {
                String dateFormat  = HxLocaleUtil.getSapDatePatternNumber(pc.getLocale());       
                pc.write("</td><td align='left'><div class="urEdfHlpSml" onClick="");
                pc.write("htmlxPopUp('");
                pc.write(getPopUpUrl(pc, inf.getPopUpPage()));
                pc.write("', '");
                pc.write(uniqueName);
                pc.write("', '");
                pc.write(popUpKeyUniqueName);
                pc.write("', ");
                pc.write(inf.getPopUpWidth());
                pc.write(", ");
                pc.write(inf.getPopUpHeight());
                pc.write(", '");
                pc.write(inf.getPopUpAttributes());
                pc.write("')">");
                pc.write(" </div>");
            if (showPatternHint(inf)) {
                String pattern        = "";       
                String patternTooltip = "";
                if (DataType.DATE.equals(inf.getType())) {
                    pattern        = HxLocaleUtil.getDatePatternInLocaleLanguage(pc.getLocale());       
                    patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.DatePatternTooltip", pattern);
                else if (DataType.TIME.equals(inf.getType())) {
                    pattern        = HxLocaleUtil.getTimePatternInLocaleLanguage(pc.getLocale());       
                    patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.TimePatternTooltip", pattern);
                    pattern = " " + pattern;
                else if ((inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0)) {
                    pattern = " " + inf.getPatternHint();
                    patternTooltip = HxLocaleUtil.formatHxMsg(pc.getLocale(), "HxInputField.PatternTooltip", pattern);
                pc.write("</td><td align='left'>");
                pc.write("<span class='sapTxtLeg' title='" + patternTooltip + "'><nobr>");
                pc.write("<font color='666666' face='Microsoft Sans Serif' style='vertical-align:super' size='1'><b>" + pattern + "</b></font>");
                pc.write("</nobr></span>");
            if (showStatusMsg(inf)) {
                if (inf.getStatusMsgPosition().equalsIgnoreCase("RIGHT")) {
                    pc.write("</td><td align='left'>");
                    pc.write("<font color='990000' face='Microsoft Sans Serif' size='1'>");
                else if (inf.getStatusMsgPosition().equalsIgnoreCase("BELOW")) {
                    pc.write("</td></tr><tr>");
                    if (showDateHelp(inf) && showPatternHint(inf)) {
                        pc.write("<td align='left' colspan='3'>");
                    else if (showDateHelp(inf) ^ showPatternHint(inf)) {      // '^' is Exclusive OR (XOR)
                        pc.write("<td align='left' colspan='2'>");
                    else {
                        pc.write("<td align='left'>");
                    pc.write("<font color='990000' face='Microsoft Sans Serif' style='verticle-align:super' size='1'>");
                pc.write("<nobr>" + inf.getStatusMsg() + "</nobr>");
                pc.write("</font>");
            if (showDateHelp(inf) || showPopUp(inf) || showPatternHint(inf) || showStatusMsg(inf)) {
                pc.write("</span></td></tr></table>");
            // Generate code to store the current Locale in the HTML form,
            // and make the month and day names available in javascript arrays.
            // The form's Language attribute is used as a flag so that this is only
            // done once for each form.
            Form form = pc.getCurrentForm();
            if ((form.getLanguage() == null)
            || (!form.getLanguage().equals(pc.getLocale().toString()))) {
                // Save the locale in the html form as hidden fields so that the
                // same locale can be used to parse returned data.
                pc.write("<input type="hidden" name="_HTMLX_LANGUAGE_" value="" + pc.getLocale().getLanguage() + "">");
                pc.write("<input type="hidden" name="_HTMLX_COUNTRY_"  value="" + pc.getLocale().getCountry()  + "">");
                pc.write("<input type="hidden" name="_HTMLX_VARIANT_"  value="" + pc.getLocale().getVariant()  + "">");
                // Write javascript arrays of month and day names in the locale language
                StringBuffer sb = new StringBuffer(250);
                String javaScriptPath = pc.getJavascriptPath();
                sb.append("var javaScriptPath='");
                sb.append(javaScriptPath);
                sb.append("';");
                java.lang.String dayNames[] = RenderUtil.getDayAbbreviations(pc.getLocale());
                if (dayNames.length != 7) {
                    throw new IllegalStateException("Only locales with 7 days are supported!");
                sb.append("var htmlbDayNames = new Array('");
                for (int i = 0; i < 6; i++) {
                    sb.append(dayNames<i>);
                    sb.append("','");
                sb.append(dayNames[6]);
                sb.append("');n");
                sb.append("var htmlbMonthNames = new Array('");
                java.lang.String monthNames[] = RenderUtil.getMonthNames(pc.getLocale());
                for (int i = 0; i < 11; i++) {
                    sb.append(monthNames<i>);
                    sb.append("','");
                sb.append(monthNames[11]);
                sb.append("');n");
                String jscript = sb.toString();
                pc.getDocument().getIncludes().addBodyEndResource(ResourceType.DIRECTJSCRIPT, "HTMLB_INPUTFIELD_DATEHELP", jscript);
                pc.getDocument().getIncludes().addBodyEndResource(ResourceType.DIRECTJSCRIPT, "HTMLX", getHtmlxJavascript());  
                // Set the language in the form so we don't do this again       
                form.setLanguage(pc.getLocale().toString());
            if (writingDebugToConsole) {
                System.out.println("Finished rendering mimic HxInputField (id='" + inf.getId() + "')");
        private static boolean showDateHelp(HxInputField inf) {
            if (DataType.DATE.equals(inf.getType())
            && inf.isShowHelp()
            && !inf.isDisabled()) {
                return true;
            return false;
        private static boolean showPopUp(HxInputField inf) {
            if (!showDateHelp(inf)
            && !inf.isDisabled()
            && inf.isShowPopUp()) {
                return true;
            return false;
        private static boolean showPatternHint(HxInputField inf) {
            boolean isDateOrTime = DataType.DATE.equals(inf.getType()) || DataType.TIME.equals(inf.getType());
            boolean patternHintSet = (inf.getPatternHint() != null) && (inf.getPatternHint().length() > 0);
            if (inf.isShowPatternHint()
            && (isDateOrTime || patternHintSet)) {
                return true;
            return false;
        private static boolean showStatusMsg(HxInputField inf) {
            if (inf.isShowStatusMsg()
            && (inf.getStatusMsg() != null)
            && (inf.getStatusMsg().length() > 0)) {
                return true;
            return false;
        private static String getPopUpUrl(IPageContext pc, String pageName) {
            IPortalComponentRequest request = (IPortalComponentRequest)pc.getRequest();
            IPortalComponentResponse response = (IPortalComponentResponse)pc.getResponse();
            IPortalUrlGenerator portalGen = null;
            IUrlGeneratorService urlGen = (IUrlGeneratorService)request.getService(IUrlGeneratorService.KEY);
            ISpecializedUrlGenerator specUrlGen2 = urlGen.getSpecializedUrlGenerator(IPortalUrlGenerator.KEY);
            if (specUrlGen2 instanceof IPortalUrlGenerator) {
                portalGen = (IPortalUrlGenerator) specUrlGen2;
            // Create the url to the iView
            String url = "";
            if (portalGen != null) {
                // Create the parameters passed to SAP transaction for mesima
                url = portalGen.generatePortalComponentUrl(request, pageName); // "htmlxJarMimicExample.default");
            return url;
        protected static String getHtmlxJavascript() {   
            return "n" +
            "    if(window.document.domain == window.location.hostname) {                         n" +
            "        document.domain = document.domain.substring(document.domain.indexOf('.')+1); n" +
            "    }                                                                                n" +
            "    var popUpTextId;                                                                 n" +
            "    var popUpKeyId;                                                                  n" +
            "    var myPopUp;                                                                     n" +
            "    function setTextField(text) {                                                    n" +
            "        field = document.getElementById(popUpTextId);                                n" +
            "        if (field) {                                                                 n" +
            "            field.value = text;                                                      n" +
            "        }                                                                            n" +
            "        else {                                                                       n" +
            "            alert('Text target field for pop up not found (' + popUpTextId + ')');   n" +
            "        }                                                                            n" +
            "    }                                                                                n" +
            "    function setKeyField(key) {                                                      n" +
            "        field = document.getElementById(popUpKeyId);                                 n" +
            "        if (field) {                                                                 n" +
            "            field.value = key;                                                       n" +
            "        }                                                                            n" +
            "    }                                                                                n" +
            "    function setFields(text, key, close) {                                           n" +
            "        setTextField(text);                                                          n" +
            "        setKeyField(key);                                                            n" +
            "        if (close) {                                                                 n" +
            "            myPopUp.close();                                                         n" +
            "        }                                                                            n" +
            "        return false;                                                                n" +
            "    }                                                                                n" +
            "    function htmlxPopUp(url, textId, keyId, width, height, attributes) {                  n" +
            "        popUpTextId = textId;                                                        n" +
            "        popUpKeyId = keyId;                                                          n" +
            "        if (myPopUp) {                                                               n" +
            "            myPopUp.close();                                                         n" +
            "        }                                                                            n" +
            "        if (event!=null){                                                            n" +
            "            xPos = event.screenX-event.offsetX;                                      n" + 
            "            yPos = event.screenY-event.offsetY;                                      n" +
            "        }                                                                            n" +
            "        if ((xPos+width) > screen.availWidth) {                                      n" +
            "            xPos=screen.availWidth - width - 10;                                     n" +
            "        }                                                                            n" +
            "        if ((yPos+height) > screen.availHeight) {                                    n" +
            "            yPos=screen.availHeight - height - 10;                                   n" +
            "        }                                                                            n" +
            "        sizeAndPos = 'width=' + width + ', height=' + height + ', top=' + yPos + ', left=' + xPos;      n" +
            "        myPopUp = window.open(url, 'PopUp', sizeAndPos + ', ' + attributes); n" +
            "        if (!myPopUp) {                                                              n" +
            "            alert('You may have unrequested popup blocking on.');                    n" +
            "        }                                                                            n" +
            "    }n";   
        //  Methods to assist dubugging JSP pages   
         * @return True if debug messages are being written to the console
        public static boolean isWritingDebugToConsole() {
            return writingDebugToConsole;
         * When an error occurs in a JSP page the line number given in the stack
         * trace is rarely the line that caused the error.  This can make traking
         * down errors in a JSP page can be very difficult.  By writing debug messages
         * to the console every time a field is rendered, it can be much easier to
         * identify the area of code causing a problem.<p>  
         * <b>Do NOT set this in the production release of your application.</b>
         * @param b
        public static void setWritingDebugToConsole(boolean b) {
            writingDebugToConsole = b;
         * Initialise to NOT write debug to the console
        static {
            writingDebugToConsole = false;

    Try these
    [http://help.sap.com/saphelp_nwmobile71/helpdata/en/45/65ad4ee0531aa8e10000000a114a6b/content.htm]
    [http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11d6b28500508b5d5211/content.htm]
    [http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01381.0120/doc/html/koh1278435126915.html]
    Reagards,
    Mouli

  • Development Environment for SP9

    Hello,
       I need to create some web dynpros in EP 6.0 SP9+. I have eclipse, is there a plug in for eclipse that is compatible with SP9? And, what development environent would you suggest using for developing web dynpros.
    regards,
    Tom

    Hi Thomas,
         It's on service.sap.com . Right now the website is down. If the website comes back up then i will post you the exact link.
    Try the following link.
    https://smpdl.sap-ag.de/~swdc/002007974700000089732005D/JIDE11P_1-10002804.SAR?_ACTION=DL_DIRECT
    Message was edited by: Prakash  Singh

  • How to view a BI query with anonymous user in the portal

    <b>Hi Gurus,</b>
    Does anybody knows how to view a BI query in the portal with anonymous user?
    Cause when i try to view a query the portal always ask for authentification. And i don't want to sign with a user cause my portal is for everybody and if the user logged in it shows the roles that previously were assigned.
    I have the Netweaver 2004 with SP9
    <b>Thank you Very Much</b>

    do you have sso configured between portal and BW server, if yes the authentication pop up should not come.
    if you dont want to do sso between portal and bw server and still want to logon to BW query with anonymous user,
    in you bw server go to transaction sicf and navigate to DEFAULT_HOST->SAP->BW->BEX and double click on bex node in the resulting window, log on details section provide a default userid/password
    Raja

  • Servlet failed with Exception java.lang.illegalaccesserror - hp-ux

    Hi,I installed WLS 5.1 with SP9 in HP-UX with Java1.2. Since I need to send mails from jmail, I added necessary .jar files in weblogic/lib directory. When ever I try to run this event. I get the following exception. Can anyone help me. Thanks in advance. Servlet failed with Exceptionjava.lang.IllegalAccessError: try to access class MailUserData from class MailServlet_Event1 at MailServlet_Event1.doGet(MailServlet_Event1.java:110) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:865) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120) at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:158) at Member.doGet(Member.java:199) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:865) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:120) at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:915) at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:879) at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:269) at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:365) at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:253) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
              

    can nyone please gimmie ny input wid dese ,,, i am really stucked here,,, help

  • Problem with SP6 + IE + sendRedirect

    Hello,
              We've had this problem with the sendRedirect method. Under IE (all versions
              we tested), a sendRedirect would take a considerable amount of time to
              actually perform the redirection; in fact the time it took was approximately
              equal to the KeepAliveTimeout setting within the httpd.conf file of our
              front end Apache webservers (Redhat 6.2 btw). We have two Apache servers in
              front of a cluster of two Weblogic 5.1 servers (SP6).
              Now the interesting thing is when we "downgraded" the mod_wl.so file back to
              the SP5 version, the problem disappeared. Obviously i'm not happy with
              running the SP5 version of the apache/weblogic bridge due to the various
              documented issues, so am wondering if a) anyone has seen this themselves,
              (b) got it working correctly under SP6, or c) when the hell is SP7 coming
              out. ;)
              thanks
              Carl
              

              Yes, I'm having this problem too with IE, i.e. taking some amount of time until
              redirection happens. But with Netscape, the redirect is fast, i.e. normal.
              I'm using Weblogic server 5.1 with SP9 (I tested with SP8 with the same result),
              Apache 1.3.12, Redhat 6.2, IE 5.0.
              When I captured the HTTP response from the server, the content-length header showed
              533. Actually the body of the response is nothing, just a line, I think. So I
              guess IE tried to receive all 533 bytes of content until the Keep alive timed
              out, after which it followed the redirection.
              I think this is a bug in Weblogic, it shouldn't spit out 533 bytes with no content.
              Iwan
              "Joe Bella" <[email protected]> wrote:
              >
              >How can we make this work if we are using just servlets? To get around
              >the problem, I have resorted to the cheesy solution of spitting out
              >javascript redirect code. This obviously is a sub-optimal solution.
              >
              >Any other ideas for workarounds until sp7 comes out?
              >
              >thanks
              >
              >joe
              >
              >"Mike Reiche" <[email protected]> wrote:
              >>
              >>I've seen this as well. We fixed it by using a jsp:forward instead of
              >the sendRedirect.
              >>
              >>Mike Reiche
              >>
              >>"Carl Ansley" <[email protected]> wrote:
              >>>Hello,
              >>>
              >>>We've had this problem with the sendRedirect method. Under IE (all
              >versions
              >>>we tested), a sendRedirect would take a considerable amount of time
              >to
              >>>actually perform the redirection; in fact the time it took was approximately
              >>>equal to the KeepAliveTimeout setting within the httpd.conf file of
              >our
              >>>front end Apache webservers (Redhat 6.2 btw). We have two Apache servers
              >in
              >>>front of a cluster of two Weblogic 5.1 servers (SP6).
              >>>
              >>>Now the interesting thing is when we "downgraded" the mod_wl.so file
              >back to
              >>>the SP5 version, the problem disappeared. Obviously i'm not happy
              >with
              >>>running the SP5 version of the apache/weblogic bridge due to the various
              >>>documented issues, so am wondering if a) anyone has seen this themselves,
              >>>(b) got it working correctly under SP6, or c) when the hell is SP7
              >coming
              >>>out. ;)
              >>>
              >>>thanks
              >>>Carl
              >>>
              >>>
              >>
              >
              

  • External context mapping with recursive treenode

    Hi,
    did anybody succeed with external context mapping of a recursive tree node?
    I get the following runtime error. Everything works fine if I use a "regular" value node. I´ve also experimented with manual and automatic component creation.
    Any help is appreciated
    Helmut
    com.sap.tc.webdynpro.progmodel.context.ContextException: NodeInfo(InnerCompInterface.OuterCompTree): cannot create nodes, no mapping defined yet
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getDataNode(MappingInfo.java:102)
         at com.sap.tc.webdynpro.progmodel.context.RecursiveNodeInfo.init(RecursiveNodeInfo.java:127)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getCustomControllerInternal(Component.java:409)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:347)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:376)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:137)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:667)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.init(ClientComponent.java:346)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:854)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.createComponent(ClientComponent.java:157)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponentInternal(ComponentUsage.java:137)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createComponent(ComponentUsage.java:104)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.createInstanceIfDemanded(ComponentUsage.java:659)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getInterfaceControllerInternal(ComponentUsage.java:300)
         at com.sap.tc.webdynpro.progmodel.components.ComponentUsage.getControllerInternal(ComponentUsage.java:341)
         at com.sap.tc.webdynpro.progmodel.controller.Component.getMappableContext(Component.java:381)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.getContext(MappingInfo.java:54)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.isComplete(MappingInfo.java:92)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getStructureType(NodeInfo.java:247)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.getStructureType(NodeInfo.java:247)
         at com.sap.tc.webdynpro.progmodel.context.AttributeInfo.initNodeMapping(AttributeInfo.java:546)
         at com.sap.tc.webdynpro.progmodel.context.AttributeInfo.init(AttributeInfo.java:432)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initAttributes(NodeInfo.java:692)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.initAfterCompletedMapping(NodeInfo.java:698)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initAfterCompletedMapping(MappingInfo.java:159)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.initMapping(MappingInfo.java:152)
         at com.sap.tc.webdynpro.progmodel.context.MappingInfo.init(MappingInfo.java:142)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:667)
         at com.sap.tc.webdynpro.progmodel.context.NodeInfo.init(NodeInfo.java:682)
         at com.sap.tc.webdynpro.progmodel.context.Context.init(Context.java:38)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:199)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:539)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.bindRoot(ViewManager.java:421)
         at com.sap.tc.webdynpro.progmodel.view.ViewManager.init(ViewManager.java:129)
         at com.sap.tc.webdynpro.progmodel.view.InterfaceView.initController(InterfaceView.java:41)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
         at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.displayToplevelComponent(ClientComponent.java:134)
         at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.init(ClientApplication.java:364)
         at com.sap.tc.webdynpro.clientserver.task.Task.createApplication(Task.java:217)
         at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:548)
         at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:57)
         at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:249)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:139)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:101)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:38)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:383)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:333)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:311)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:811)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:235)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
         at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:144)
    /code

    Hi Helmut,
    I face exactly the same problem with NW 2.0.7.
    It is a bug in WebDynpro runtime.
    Good news is that it is fixed with SP9, so this functionality will work in final release (I believe WD team uses regression tests
    Regards,
    VS

  • SAP EU software component for Web Dynpro SP9

    Hi all,
    I've followed the tutorial on how to create a Web Dynpro Callable object and couldn't go further because I couldn't find the libraries needed in the Local DC (caf/eu/gp/api/wd) api's.
    I've found the Blog from Andre Truong on how to retrieve this API's in your Local Development Component projects (SP7).
    /people/andre.truong/blog/2006/06/26/working-with-the-apis-of-caf-guided-procedures-nwdi-or-local-development
    Unfortunally this is only working for SP7 (And maybe SP8) but not for SP9.
    In the blog Andre mentioned that this problem might be resolved with SP9 because the API's come as default with the IDE.
    This appears not to be the case for me.
    Does anyone know how to resolve this problem?
    PS I also read the following thread and the reply from Tomas Kuba but that seems to be a difficult and dirty way to do it?
    Re: Guided procedures & WebDynpro (SAP-EU software component)
    Thanks in advance!

    Ok, seems to work just fine for SP 9 also.
    Only the folders eu and gp don't excists. Just create them and extract the zip files.
    Great blog thanks!
    Message was edited by:
            B. van Prooijen

Maybe you are looking for

  • How to creat a resource file in blackberry playbook

    Hai, how to creat a resource file  in blackberry playbook. Regards Ratheesh R Kurup

  • Asset balance transfer -1kei

    Hi, When we are transfering the balances in Assets in Profit center using 1KEI ,a balance of 1000 is transfered to a particular profitcenter for an asset balancesheet account for period 1.But actually when i goto 2KEE or GLPCT table the amount is rs

  • Calendar entries not displaying

    Hope someone can assist. On the Calendar, if I have two events that are All Day, scheduled on the same day; the app only displays one of the appointments; and it appears to be random as to which one it will display. Can someone explain how I can be m

  • Home and preferences link disappeared in my custom page

    Hi. I created 2 custom pages and they are working fine. I see everything including the global links But after I created tabular entry in the menu I don't see global links anymore Steps I did: Created a new menu X with "Menu Type" Home Page It has 2 e

  • ThinkVantage System Update fails

    Hi I have a T61p with XP Pro.  I am not able to get any system updates for my machine through ThinkVantage System Update.  It says "An error occured while gathering user information." and then it fails.  I have no idea why it would say that.  Any ide