JSF Implementation and accessibility

I'm using de Sun JSF Implementation and having some troubles with accessibility issues. The HTML generated by the renderers are validated to WAI (Web Accessibility Initiative)? Should I reimplement the renderers to attempt to use screen readers, for example?

Which implementation version exactly? Which problem exactly? There were fairly a lot of fixes regarding '508 compliance' during the existence of the JSF 1.2 implementation. Pick the latest, currently 1.2_10, and see if it solves your problem.

Similar Messages

  • JSF, MyFaces and accessibility

    Apologies for this question which seems like it really ought to be a matter for Google - I've looked but not found much of use.
    Does anyone have any links or resources which discuss providing accessibilty when implementing a JSF/MyFaces site? I've really only just picked up JSF so my knowledge is far from in-depth; at the moment I'm looking more for a high level appraisal of how accessible JSF pages can be made (and how expensive it is to achieve that) than the details of actually how to do it.
    Essentially I'd like to know whether the adoption of JSF and MyFaces is going to lead to a major headache in this regard. Similar information regarding standards compliance would be a bonus.
    Thanks.

    My understanding is that JSF specification is compatible with accessibility guidelines but I would like to point that JSF is a specification not an implementation.
    Having said that, AJAX and most of the implementation sout there today are NOT compatible with accessibility guidelines.
    I believe that WCAG 1.0 says any javascript != accessiblity while WCAG 2.0 has backed off a bit. Point being most RIA applications are not accessible.
    Since I have never desiged an accessible site I cannot speak to all of the difficulties. Like I said you would have to look at the JSF implementation you were using for additional details, I assume core JSF is compatible with accessibility guidelines.

  • Implement a matrix as database and access its cells by its rows and coloumn

    hi,
    i am an engg. student and is facing a problem during a project.
    I want to maintain a matrix as a database and access its cells by giving the titles of the corresponding row nd coloumn.I want to know how to create such a database and implement it.
    I also want the SQL statements required for it.
    Please answer my query soon.

    hi,
    i am an engg. student and is facing a problem during a
    project.
    I want to maintain a matrix as a database and access
    its cells by giving the titles of the corresponding
    row nd coloumn.I want to know how to create such a
    database and implement it.create table matrix
    matrix_id varchar(30),
    matrix_row int,
    matrix_column int,
    matrix_value int
    I also want the SQL statements required for it.
    To get A[3][4]...
    select matrix_value from matrix
    where matrix_id='A' and matrix_row=3 and matrix_column=4

  • Creator2 JSF implementation in portlets deployed to Sun Portal Server 6.2

    Hi all,
    I have a portlet created with Sun Java Studio Creator 2 EA2 and I want to run it on Sun Portal Server 6.2. It works fine with standard JSF implementation (a corrected version, where web.xml replaced with a simple version for standars JSF without pluto servlet) but it throws the following exception with the com.sun.web.ui.* implementation:
    [#|2005-11-26T19:24:43.822+0100|SEVERE|sun-appserver-ee8.1_02|javax.enterprise.system.container.web|_ThreadID=13;|WebModule[/UserInfoPortlet]com.sun.web.ui.component.Form
    javax.faces.FacesException: Can't instantiate class: 'com.sun.web.ui.component.Form'.
            at com.sun.faces.application.ApplicationImpl.newThing(ApplicationImpl.java:728)
            at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:352)
            at com.sun.faces.config.ConfigureListener.verifyObjects(ConfigureListener.java:1068)
            at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:342)
            at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4010)
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:4522)
            at com.sun.enterprise.web.WebModule.start(WebModule.java:241)
            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:827)
            at org.apache.catalina.core.ContainerBase.access$000(ContainerBase.java:125)
            at org.apache.catalina.core.ContainerBase$PrivilegedAddChild.run(ContainerBase.java:147)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:809)
            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
            at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1298)
            at com.sun.enterprise.web.HttpServiceWebContainer.loadWebModule(HttpServiceWebContainer.java:818)
            at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1025)
            at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:160)
            at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:238)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:918)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:905)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:427)
            at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:139)
            at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:288)
            at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:155)
            at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:258)
            at com.sun.enterprise.deployment.phasing.StartPhase.runPhase(StartPhase.java:87)
            at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:71)
            at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:633)
            at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:361)
            at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:396)
            at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:702)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:302)
            at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:357)
            at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
            at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
            at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
            at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
            at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:54)
            at $Proxy1.invoke(Unknown Source)
            at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:272)
            at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:38)
            at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:92)
            at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:69)
            at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:94)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:767)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
            at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
            at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
            at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
            at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
            at java.security.AccessController.doPrivileged(Native Method)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
            at com.sun.enterprise.web.connector.httpservice.HttpServiceProcessor.process(HttpServiceProcessor.java:226)
            at com.sun.enterprise.web.HttpServiceWebContainer.service(HttpServiceWebContainer.java:2071)
    |#]My test was the sample web application described at http://developers.sun.com/prodtech/javatools/jscreator/ea/jsc2/learning/tutorials/portlets.html . In the working standard test application I put portlet.jar and jsf-portlet.jar into the .war file, in the extended JSF implementation I put com-sun-web-ui-appbase.jar and webui.jar too.
    Has anybody used it or knows the solution?
    Thanks,
    Jozsef Borcsok

    A Free 90-day trial of Sun Java[tm] Studio Enterprise 7 is available for the Solaris and Windows platforms in three languages - English, Japanese, and Simplified Chinese.
    http://www.sun.com/download/products.xml?id=41ba2d7f
    Sun Java Studio Enterprise 7 2004Q4, File 1, Multilanguage (jstudio_ent_04Q4-ga-win-1.zip, 329.44 MB)
    Sun Java Studio Enterprise 7 2004Q4, File 2, Multilanguage (jstudio_ent_04Q4-ga-win-2.zip, 371.50 MB)

  • UWC/CE 6.3 and Access Manager 7.1 SSO sometimes fails (seems like a bug)

    PREAMBULA: I started writing this post thinking that our AM SSO setup was at fault in some step. As I was gathering data, checking the doc-links and config files and finally sniffed the servers for HTTP dialogs, I grew pretty sure there's a bug in UWC/CE, AM SDK or Web Server Policy Agent, whatever implements the AM SSO session checking.
    In short, as written below, our "sunmail" server can POST a broken cookie to AM server, if the cookie originally contained a "plus" character. The "plus" is replaced by a "space", invalidating the session check. As we know, "+" is often used in URLs to "escape" the space character. Perhaps some URL cleanup routine backfired here. I have double-checked, it is not the reverse proxy on "psam" breaking things. It is "sunmail" (UWC/CE or Policy Agent, don't know for certain) supplying the broken request. On the few occasions when the AM cookie contains no "plus" characters, the SSO works like a charm (also checked by a sniffer). Whenever there is a "plus", it breaks.
    Is there some known bug or workaround that matches this description?
    Nevertheless, for completeness' sake I kept the description of our setup. Maybe it's at fault after all :)
    We have an installation of JCS5 with the latest patches as of early July 2008. And as the subject implies, we have problems with AM SSO in UWC/CE web-interface. I have reported them before, then they seemed fixed (not occuring for several tests in a row), but as time has shown, something wrong is still there.
    So I'll try to go into deeper detail now, as we've may have overlooked some nuance... Then again, as my sniffer research below shows, this may be an engine bug and these setup details are irrelevant.
    Our setup is split into several Solaris 10 full-root zones hosted on several servers, some of the components are enroute to HA (perhaps we made some mistakes on this part of the way?)
    So, we have the following software stack:
    1) two MMR Directory Servers (DSEE 6.3 = DSEE 6.2 from JCS5 + 125278-07__DSEE_6.3__x86x64 + 125277-07__DSEE_6.3__x86_sol9 patches) working in zones on two different servers. Except for one time when a manually forced ZFS rollback corrupted one of the server instances, no problems here.
    2) two zones with Directory Proxy Servers (6.3, exact versions as above) running at port 389 provide the clients with an illusion that they have a stable Directory Server, even if one of the actual servers is currently rebooting ;)
    These DPS zones are hosted on two different servers as well and are primarily used by LDAP clients (JCS components) running in other zones on the same respective servers.
    3) A zone with Sun Web Server 7.0U1 and Access Manager 7.1 (+ 126357-01__AM71_x86 patch) and Delegated Admin 6.4-4.01 (from JCS5 + 121582-18__COMMCLI64__x86 patch).
    At the moment there is one such zone (named "cos-psam-01.domain.ru" in the logs below), but we expect(-ed) it to become two similar zones as per AM HA setup.
    Zones listed in (1-3) use private IP numbers, they belong in our internal DMZ.
    Zones listed in (4-5) below use public (routed) IP numbers, they belong in our external DMZ.
    4) A zone with Sun Web Server 7.0U1 used primarily as a reverse-proxy server (optionally with a load-balancer libpassthrough.so plugin) successfully used for other hosted projects. One of its configurations now passes connections from an externally routed IP address published as "psam.domain.ru" to "cos-psam-01.domain.ru", per AM HA setup, so HTTP clients believe they work with an Access Manager instance. This zone has a backend interface with a private IP address to communicate with the actual AM instance.
    In AM configuration (both LDAP and file-based) we have configured a site ID with the publicly known name and mentioned both names (psam and cos-psam-01) in organization's realm/dns aliases.
    5) A zone with the rest of the Sun Java Communications Suite 5, as in Messaging Server 6.3 (6.3-6.03 64-bit: ci-5.0-1.03_solx86_x64__Messaging_Server_6.3-2 + patch 126480-09__MSG63__x86-64), UWC/CE 6.3 (from JCS5 + 122794-17__UWC63-4.01_core__x86), Instant Messaging 7.2 (from JCS5 + 118790-29__IM72__x86-1 + 118787-28__IM72__x86-2), Calendar Server 6.3 (from JCS5 + 121658-28__iCS63__x86). The web-components (UWC/CE, IM, /httpbind) are deployed in a Sun Web Server 7.0U1 as well.
    This zone is named "sunmail.domain.ru" and has a routed IP address for direct external access to its servicess.
    The AM SDK part is also patched (126357-01__AM71_x86); it points to the load-balancer name ("psam.domain.ru") as an actual AM server.
    # imsimta version
    Sun Java(tm) System Messaging Server 6.3-6.03 (built Mar 14 2008; 64bit)
    libimta.so 6.3-6.03 (built 17:15:08, Mar 14 2008; 64bit)
    SunOS sunmail 5.10 Generic_127112-07 i86pc i386 i86pc
    While setting up this server set we tried to use AM SSO as the user login method, but it works unreliably.
    "Unreliably" means that while most of the time entering a correct uid and password in Access Manager login page ("http://psam.domain.ru/amserver/UI/Login") does redirect a user back to "http://sunmail.domain.ru/uwc/auth" along with a new cookie, and the user is redirected again to his or her mailbox, sometimes the user receives the UWC/CE login page. Entering the same uid and password here does log him in, but it breaks the whole point of SSO and only increases the end-user routine required to log in :\
    We have also seen the "missing mail tab" problem - if the users point the browser to any hostname different from "sunmail.domain.ru" (i.e. www.mail.domain.ru which is equivalent in DNS), they have only the Address book, Calendar and Options tabs; no webmail. So far this is resolved by Policy Agent forcing The One name of the server.
    Here's the configuration we did specifically for AM SSO:
    1) in AMConfig.properties of "sunmail" and "cos-psam-01" we set up
    com.iplanet.am.cookie.encode=false
    am.encryption.pwd=<the same value>
    all hostname-related parameters point to "psam.domain.ru"
    2) in AMConfig.properties of "cos-psam-01" a number of FQDN equivalence entries are added (so it does not redirect to a server hostname unknown to visitors):
    com.sun.identity.server.fqdnMap[publicname-or-ip]=psam.domain.ru
    com.sun.identity.server.fqdnMap[cos-psam-01.domain.ru]=cos-psam-01.domain.ru
    3) in "msg.conf" on "sunmail" (entries added via configutil):
    local.webmail.sso.amcookiename = iPlanetDirectoryPro
    local.webmail.sso.amnamingurl = http://psam.domain.ru:80/amserver/namingservice
    local.webmail.sso.singlesignoff = yes
    local.webmail.sso.uwcenabled = 1
    service.http.ipsecurity = no
    (perhaps some more options are required? Looking for confirmation about: local.webmail.sso.uwclogouturl local.webmail.sso.uwccontexturi local.webmail.sso.uwchome service.http.allowadminproxy )
    4) Configured Web Policy Agent for Sun Web Server, so that users without an AM session are required to get one. Set up per [http://msg.wikidoc.info/index.php/AM_redirection_using_Policy_Agent], except that com.sun.am.policy.agents.config.notenforced_list points to the many names our server can go known by.
    5) Updated the logout URL in /opt/SUNWuwc/webmail/main.js:
    --- main.js.orig        Sat Jan 26 07:52:09 2008
    +++ main.js     Mon Jul 21 01:06:29 2008
    @@ -667,7 +667,8 @@
    function cleanup() {
       if(laurel)
    -      top.window.location =  getUWCHost() + "/base/UWCMain?op=logout"
    +//      top.window.location =  getUWCHost() + "/base/UWCMain?op=logout"
    +      top.window.location =  "http://sunmail.domain.ru:80/base/UWCMain?op=logout"
       else
           exec('logout', '', 'exit()')
    @@ -1707,7 +1708,8 @@
       if(lg) {
             url = document.location.href
             url = url.substr(0,url.indexOf('webmail'))
    -        uwcurl = url + 'base/UWCMain?op=logout'        
    +//      uwcurl = url + 'base/UWCMain?op=logout'        
    +        uwcurl = "http://sunmail.domain.ru:80/base/UWCMain?op=logout"
       exit()
    }6) Calendar SSO - per docs...
    According to ngrep sniffing,
    1) the browser goes to "http://sunmail.domain.ru/uwc/auth" without any cookies
    2) receives a redirect and goes to "http://psam.domain.ru/amserver/UI/Login?gotoOnFail=http://sunmail.domain.ru:80/uwc&goto=http%3A%2F%2Fsunmail.domain.ru%3A80%2Fuwc%2Fauth"; sends no cookies either.
    3) The first response from the "psam" server (as redirected from "cos-psam-01") sets a few cookies while rendering the login page:
    Set-cookie: JSESSIONID=7EF8F2810D2071CA03CFEAE9972735B2; Path=/
    Set-cookie: AMAuthCookie=AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#; Domain=.domain.ru; Path=/
    Set-cookie: amlbcookie=02; Domain=.domain.ru; Path=/
    4) The browser requests the login page resources (javascripts, images, etc) using these cookies, as in this header line:
    Cookie: JSESSIONID=7EF8F2810D2071CA03CFEAE9972735B2; AMAuthCookie=AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#; amlbcookie=02
    5) The browser POSTs the login request to "/amserver/UI/Login" and receives a redirection to http://sunmail.domain.ru:80/uwc/auth
    Set-cookie: iPlanetDirectoryPro=AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#; Domain=.domain.ru; Path=/
    Set-cookie: AMAuthCookie=LOGOUT; Domain=.domain.ru; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
    6) The browser requests "http://sunmail.domain.ru/uwc/auth" using the newly set cookie (looks like the old one to me though):
    Cookie: amlbcookie=02; iPlanetDirectoryPro=AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#
    7) The "sunmail" web-server checks the AM session validity with the same "psam.domain.ru". It sends a series of POSTs to /amserver/namingservice:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RequestSet vers="1.0" svcid="com.iplanet.am.naming" reqid="685">
    <Request><![CDATA[
    <NamingRequest vers="1.0" reqid="324" sessid="AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#">
    <GetNamingProfile>
    </GetNamingProfile>
    </NamingRequest>]]>
    </Request>
    </RequestSet>(receives a large XML list of different Access Manager configuration parameters and URLs)
    ...then a double-request to /amserver/sessionservice:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RequestSet vers="1.0" svcid="Session" reqid="686">
    <Request><![CDATA[
    <SessionRequest vers="1.0" reqid="678">
    <GetSession reset="true">
    <SessionID>AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#</SessionID>
    </GetSession>
    </SessionRequest>]]>
    </Request>
    <Request><![CDATA[
    <SessionRequest vers="1.0" reqid="679">
    <AddSessionListener>
    <URL>http://sunmail.domain.ru:80/UpdateAgentCacheServlet?shortcircuit=false</URL>
    <SessionID>AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1+xTqH7C3I=@AAJTSQACMDI=#</SessionID>
    </AddSessionListener>
    </SessionRequest>]]>
    </Request>
    </RequestSet>As a result it receives an XML with a lot of user-specific information (the username, LDAP DN, preferred locale, auth module used, etc.)
    !!!*** Now, the problem part ***!!!
    8) And then "sunmail" POSTs a broken cookie to "psam" (note the space in mid-text, where the "plus" sign was previously). As we know, "+" is often used in URLs to "escape" the space character. Perhaps some URL cleanup routine backfired here.
    I have double-checked, it is not the reverse proxy on "psam" breaking things. It is "sunmail" (UWC/CE or Policy Agent, don't know for certain) supplying the broken request. I looked over the large XML responses to the two previous requests, whenever they mention the session cookie value, the "plus" is there.
    For the most detail I can provide, I'll even paste the whole HTTP packet:
    POST /amserver/sessionservice HTTP/1.1
    Proxy-agent: Sun-Java-System-Web-Server/7.0
    Cookie: iPlanetDirectoryPro=AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1 xTqH7C3I=@AAJTSQACMDI=#;amlbcookie=null
    Content-type: text/xml;charset=UTF-8
    Content-length: 336
    Cache-control: no-cache
    Pragma: no-cache
    User-agent: Java/1.5.0_09
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Host: cos-psam-01.domain.ru
    Client-ip: 194.xxx.xxx.xxx
    Via: 1.1 https-weblb.domain.ru
    Connection: keep-alive
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RequestSet vers="1.0" svcid="session" reqid="258">
    <Request><![CDATA[<SessionRequest vers="1.0" reqid="254">
    <GetSession reset="true">
    <SessionID>AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1 xTqH7C3I=@AAJTSQACMDI=#</SessionID>
    </GetSession>
    </SessionRequest>]]></Request>
    </RequestSet> The server's error response is apparent:
    HTTP/1.1 200 OK
    Server: Sun-Java-System-Web-Server/7.0
    Date: Thu, 31 Jul 2008 05:49:50 GMT
    Content-type: text/html
    Transfer-encoding: chunked
    19b
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ResponseSet vers="1.0" svcid="session" reqid="258">
    <Response><![CDATA[<SessionResponse vers="1.0" reqid="254">
    <GetSession>
    <Exception>AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1 xTqH7C3I=@AAJTSQACMDI=# Invalid session ID
    AQIC5wM2LY4SfcwuT2ASCrsfO78nXdceEHXeH1 xTqH7C3I=@AAJTSQACMDI=#</Exception>
    </GetSession>
    </SessionResponse>]]></Response>
    </ResponseSet>On the few occasions when the AM cookie contains no "plus" characters, the SSO works like a charm (also checked by a sniffer). Whenever there is a "plus", it breaks.
    For reference, here's a working final request-response (one with a good cookie, as received by the load-balancer web-server). Request looks a bit different:
    POST /amserver/sessionservice HTTP/1.1
    Cookie: iPlanetDirectoryPro=AQIC5wM2LY4Sfcy/5sEzVmuq9z1ggdHOkBDgVFAwfhqvn4U=@AAJTSQACMDI=#;amlbcookie=null
    Content-Type: text/xml;charset=UTF-8
    Content-Length: 379
    Cache-Control: no-cache
    Pragma: no-cache
    User-Agent: Java/1.5.0_09
    Host: psam.domain.ru
    Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
    Connection: keep-alive
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <RequestSet vers="1.0" svcid="session" reqid="281">
    <Request><![CDATA[<SessionRequest vers="1.0" reqid="277">
    <SetProperty>
    <SessionID>AQIC5wM2LY4Sfcy/5sEzVmuq9z1ggdHOkBDgVFAwfhqvn4U=@AAJTSQACMDI=#</SessionID>
    <Property name="uwcstatus" value="active"></Property>
    </SetProperty>
    </SessionRequest>]]></Request>
    </RequestSet> ...and the response is OK:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ResponseSet vers="1.0" svcid="session" reqid="281">
    <Response><![CDATA[<SessionResponse vers="1.0" reqid="277">
    <SetProperty>
    <OK></OK>
    </SetProperty>
    </SessionResponse>]]></Response>
    </ResponseSet>

    There have been a few reports of the same behaviour with other customers - specifically with the handling of the encoding of "+" characters to " ". It relates to how cookie encoding/decoding is performed (as you have already observed).
    The solution for these customers was the following:
    => AM server/client side:
    Ensure that com.iplanet.am.cookie.encode=false in AMConfig.properties and AMAgent.properties on all systems.
    => AM client (UWC) side:
    - Set <property name="encodeCookies" value="false"/> in /var/opt/SUNWuwc/WEB-INF/sun-web.xml. This will prevent UWC from trying to urldecode the cookie it receives and therefore stops it turning the + into a space e.g.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 Servlet 2.3//EN' 'file:///net/wajra.india.sun.com/export/share/dtd/sun-web-app_2_3-1.dtd'>
    <sun-web-app>
       <property name="encodeCookies" value="false"/>
       <session-config>
          <session-manager/>
       </session-config>
       <jsp-config/>
    <property name="allowLinking" value="true" />
    </sun-web-app>Regards,
    Shane.

  • Can't printing in front-end when implement LOCL access method 'G'

    We are implementing ECC5.0 and print Purchase Order in normal status.But in recent,user print PO by long printer name with some trouble.So we check the notes,and it recommand us to implement access method 'G'.It seems every thing is OK on front-end printing.Still not work for printing PO on front-end output immediate.If we choose short printer name and access method 'F',it work fine.But SAP will no longer develop method 'F'.Please advise it.

    SAP PO is using background printing. SAP frontend print doesn't support background printing.
    As per SAP Frontend document, You cannot perform front-end printing in the background, as there is not connection to the front end.
    For this, you need to configure network printer.
    Thanks,
    Miral.

  • Monitor Role and access to b2bconsole & wlai console

    Hi, I don;t know if it would make sense to post this question here as i have also
    posted this question on Integration newsgroups too.....but since iam expecting
    an answer here quickly, excuse me for posting it here too.
    This is concerning WLI7.0. I have implemented and created a user with Monitor
    Role. That is I have added this new user to the following 3 Groups from the Admin
    console:
    1) wlpiUsers 2) MonitorInstance 3) Monitors
    Now when i tried to log-into wlai console, it doesn't allow me to even log-in.
    Whereas I can log-in into b2bconsole but can't do anything in there.....access
    denied.
    I wanted to know if there is anything i can do to give this user atleast some
    READ-ONLY access in these 2 consoles.
    BTW, i can give READ-ONLY access to this user for Admin console & to the Studio.
    Please suggest some workarounds or best practices.
    thanks, steve

    Hi,
    For user permission, Please refer : http://docs.oracle.com/cd/E28280_01/user.1111/e10229/b2b_tps.htm#BABGAJDE
    Regards
    Nandagopal

  • JDBC API ( JSR 169 ) Implementation for accessing oracle lite database

    We are developing an application using IBM J9 (CDC and Foundation Profile) on Pocket PC 2003 environment with SWT as the front end development. We are using Oracle Lite 9i as the Client database.
    We have sucessfully installed Oracle Lite and was able to create tables in the database.. however we could not find the JDBC API (java.sql and javax.sql packages which is JSR 169 JDBC 2.0/3.0) inorder to load the JDBC driver(OLITE40.jar) and access the oracle Lite Database on Pocket PC.
    IBM J9 Micro Environement does not have this support.
    I am wondering if Oracle provides this implementation.
    If not is there a get around.
    the client database is crucial to the application and i would really appreciate an answer to our problem.

    Check out
    http://groups.google.com/groups?hl=en&lr=&threadm=cjgl3g%248hhm%241%40news.boulder.ibm.com&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26group%3Dibm.software.websphere.studio.device-developer
    I have had the same issue before.
    Regards,
    Ron

  • Load Jar and access a class in jar at run time

    I need help from you.
    How to load a Jar and access a class in the jar at run time?
    When i try the following code it works fine while running in Java (Jdk1.5).If iam running the same code in servlet,ClassCastException occurs.
    Error Message : ClassCastExcption : jartest1 cannot be cast to Thing
    test.jar contains jartest.class and Thing.class
    jartest1.java
    try{
    File file =new File("test.jar");
    String lcStr ="jartest";
    URL jfile = new URL("jar", "", "file:" + file.getAbsolutePath() +"!/");
    URLClassLoader cl = URLClassLoader.newInstance(new URL[] { jfile });
    Class loadedClass = cl.loadClass(lcStr);
    Thing t=(Thing)loadedClass.newInstance();
    t.execute();
    catch(Exception e)
    System.err.println(e);
    Thing.java
    public interface Thing
    void execute();
    jartest.java
    public class jartest implements Thing
    public void exceute()
    System.out.println("Welcome");
    Thanks and Regards
    V.Senthil Kumar
    Edited by: senthilv_sun on Dec 16, 2008 8:30 PM

    senthilv_sun wrote:
    I need help from you.
    How to load a Jar and access a class in the jar at run time?
    When i try the following code it works fine while running in Java (Jdk1.5).If iam running the same code in servlet,ClassCastException occurs.
    Error Message : ClassCastExcption : jartest1 cannot be cast to ThingPresumably we can only hope that that is a transciption error. It always helps to use copy and past actual errors and code rather than manually typing them.
    test.jar contains jartest.class and Thing.classWrong.
    The interface class and plugable class must not be in the same jar.
    A plugable interface requires two components
    - Interface (generic sense)
    - Functional components.
    The Interface must be independant (own jar) so that it is available to the framework (user of plugin) and to the functional components. And the plugable component must not be on the java class path.
    This also means that we know for certain that the plugable component is also on the system class path. That is a bad idea as well.
    Given that it is pretty pointless to even speculate as to why this error is showing up. Create the correct jar layout. Test using the command line. Then test using servlets. Insure that the plugable jar is NOT on the java classpath for both tests.

  • Form Layer 2 to Layer 3 on Distribution and Access

    Hi,
    Our LAN topology have Core "L3" , Ditribution "L2" and Access "L2". We want to get rid of spanning tree by moving from layer 2 to layer 3 on Access and Distribution layers.
    My questions is:
    1) Any advice/document on this?
    2) in the access switches did I have to configure each interface on 3750 as routed port by issueing "ip routing" and giving an IP address of each port ????. if this is the case than I will need huge amount of IP addresses.
    Thanks

    Hi
    Much of this has already been covered off.
    Just to add, I have implemented both routed access-layer and L2 access-layer and each has advantages and disadvantages.
    Major advantages for L3
    1) STP contained with wiring closet. Yes you can use RPVST+ but you still are extending L2 links between the distribution and access-layer with all that implies eg broadcast traffic. In addtion to utilise both uplinks at the same time requires a lot of extra configuration ie. setting root bridges for odd and even vlans and matching that to active HSRP gateways etc.
    2) Automatic equal cost load-balancing (see previous point )
    3) Easier troubleshooting. As previous poster said this is a matter of opinion and i have more experience with switching to be honest but i think troubleshooting L3 routing problems is generally easier than L2 STP problems.
    Disadvantages
    1) Vlan's cannot be extended across floors. May or may not be a problem for you.
    2) If your distribution layer utilises 6500's with service modules eg the Firewall Service Module then layer 2 links give you more flexibility in deployment.
    3) Cost can be an issue although your 3750's would support EIGRP stub functionality with only the base image.
    As another poster pointed out, STP has come a long way from it's 50 seconds failover and with the correct setup it is nowhere near as important that you try and remove it.
    I am just as much in favour of L2 access as L3 and most of major sites utilise L2 from the access-layer but with the speed/performance and cost of L3 switching you can get nowadays using L3 is a viable alternative.
    HTH
    Jon

  • Reset JSF session and the managed beans with sesison scope

    Hi,
    this is a very general question and maybe stupid for most of you. I have my jsf/facelets web application and i use inside of this application some managed beans, which are session beans. I want to know how is it possible to reset this beans. I'm asking this question beacuse i have this kind of problem: i built my web application which has a login form and i use the browser to test it. When i browse to the login page and I login with my credentials i get my customized home page. Then i open another istance of the browser and i browse to the login page again but this time i login as a different user. The result home page is the same as i got before with my login credentials, so the session is always the same. Instead i want the session and all its objects to be resetted for the new user! Do youn know which is the solution?

    The fact is that i want to have two sessions in parallel, so using the same browser and opening two tabs, i want to browse to the login page and access as two totaly different users and using in parallel the application without the problem of one user's action affecting the other user beacuse of session sharing. So I want to force the application to create two different session for the two users logins, because as i told you before as it is now, they are sharing the same sesison. And i think that if i at the login time I iterate thorugh the session and delete all the objects i will be able to have only one session per time. Isn't it?

  • User management and Access Control in HCM Cloud

    Hello,
    Information is scarce about User management and Access Control in Oracle Cloud generally. Today, I have two questions :
    - How can I bridge HCM Cloud user store with my on-premise IDM or security repository in order to allow identty governance to flow to HCM Cloud service ?
    The only information I got was that you can declare manually and by bulk import through files my users. This is not really interresting as I have an automatic IDM with workflows and identity control on provisioning and de-provisioning.
    Is there a SPML or proprietary endpoint to do it automatically ? What are the prerequisites ? Do I have to implement OIM on my side ?
    - Once my users are created, how can I do webSSO from my internal security repositories to the HCM Cloud service ?
    I do not want to distribute new set of login / passwords to my users. Is it possible to do Identity Federation (SAML 2.0 or WS-Fed) with HCM Cloud service ? What are the prerequisites ? Do I have to implement OAM on my side ?
    I accept all pieces of information you can give me on this topic to help me understand the funcitonalites, limits and options offered by Oracle Cloud and more precisely by HCM Cloud service.
    Best regards,

    OIDDAS has limited capability of access control and information hiding. Presently, the permissions and privileges can be set at a realm level, and fine grained access control / information hiding cannot be done.
    At present, the only way to restrict view and access control is by appplying ACLs (which is not the safest bet).

  • JSF 2 and Primefaces with  WLS 11gR1(10.3.6) problem

    Hi all,
    I would like to create a web application in OEPE, which uses JSF 2 and Primefaces 3.2 and then deploy & develop onto WLS.
    I added the primefaces jar to WEB-INF/lib.
    See my publishing stacktrace below.
    (I tried using the Shared JSF libraries and including jsf-api and impl in WEB-INF/lib, but neither of these options worked.)
    Do you have any ideas what I am doing wrong? Thanks,
    András Liter
    <2012.04.14. 21:32:21 CEST> <Error> <javax.enterprise.resource.webcontainer.jsf.config> <BEA-000000> <Unexpected exception when attempting to tear down the Mojarra runtime
    java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.application.ApplicationFactory
         at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:804)
         at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)
         at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:104)
         at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:309)
         at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:482)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.EventsManager.notifyContextDestroyedEvent(EventsManager.java:200)
         at weblogic.servlet.internal.WebAppServletContext.destroy(WebAppServletContext.java:3225)
         at weblogic.servlet.internal.ServletContextManager.destroyContext(ServletContextManager.java:247)
         at weblogic.servlet.internal.HttpServer.unloadWebApp(HttpServer.java:461)
         at weblogic.servlet.internal.WebAppModule.destroyContexts(WebAppModule.java:1545)
         at weblogic.servlet.internal.WebAppModule.deactivate(WebAppModule.java:509)
         at weblogic.application.internal.flow.ModuleStateDriver$2.previous(ModuleStateDriver.java:387)
         at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:223)
         at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:215)
         at weblogic.application.internal.flow.ModuleStateDriver.deactivate(ModuleStateDriver.java:141)
         at weblogic.application.internal.flow.ScopedModuleDriver.deactivate(ScopedModuleDriver.java:206)
         at weblogic.application.internal.flow.ModuleListenerInvoker.deactivate(ModuleListenerInvoker.java:261)
         at weblogic.application.internal.flow.DeploymentCallbackFlow$2.previous(DeploymentCallbackFlow.java:547)
         at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:223)
         at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:215)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.deactivate(DeploymentCallbackFlow.java:192)
         at weblogic.application.internal.flow.DeploymentCallbackFlow.deactivate(DeploymentCallbackFlow.java:184)
         at weblogic.application.internal.BaseDeployment$2.previous(BaseDeployment.java:677)
         at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:223)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:63)
         at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
         at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:59)
         at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:161)
         at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:569)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:150)
         at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:116)
         at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:149)
         at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:323)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:844)
         at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1253)
         at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:440)
         at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:163)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
         at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:545)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    >
    <2012.04.14. 21:32:21 CEST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1334431938841' for task '32'. Error is: 'weblogic.application.ModuleException: '
    weblogic.application.ModuleException:
         at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1520)
         at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:484)
         at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
         at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
         Truncated. see log file for complete stacktrace
    Caused By: java.io.FileNotFoundException: \Oracle\Middleware\Oracle_OSB1\soa\connectors\FileAdapter.rar!fileAdapter.jar (The system cannot find the file specified)
         at java.util.zip.ZipFile.open(Native Method)
         at java.util.zip.ZipFile.<init>(ZipFile.java:127)
         at java.util.jar.JarFile.<init>(JarFile.java:135)
         at java.util.jar.JarFile.<init>(JarFile.java:72)
         at com.sun.faces.facelets.util.Classpath.getAlternativeJarFile(Classpath.java:252)
         Truncated. see log file for complete stacktrace

    Hi --
    I just tried using OEPE 11.1.1.8.0 against a WLS 10.3.6.0 install to build and deploy a JSF 2.0 application and it worked successfully.
    The project is here if you want to take a look:
    http://dl.dropbox.com/u/15657493/oepe-test-jsf2.zip
    The only minor gotcha I found was that I needed to reorder the libraries on the project so that the Shared-Library[jsf] was higher than the WebLogic System Library - this then let me use the JSF 2.0 programming API successfully instead of the 1.2 version that is included in the WLS System Library.
    Here's a couple of screen shots of the facet and project as well as the overall development environment:
    http://dl.dropbox.com/u/15657493/oepe-jsf-facet.png
    http://dl.dropbox.com/u/15657493/oepe-project-libs.png
    http://dl.dropbox.com/u/15657493/oepe.png
    For that zip file error, one thing perhaps is to Check your CLASSPATH setting to see if it has an entry for that FileAdapter.rar. I don't know why it's causing that problem but if it's in the CLASSPATH try removing it and then starting the server.

  • JSF Performance and very intensive UI systems

    I'm concerned about what is the performance of JSF comparated with the same implementation but with JSP and HTML UI?
    It's JSF a good choice if my system is a very intensive ui?
    Please, tell me about what does you think?

    Has anybody done a study comparing JSF performance to JSF and Struts performance?
    I'm afraid that JSF is imposing performance hit on our application of an order of magnitude or more than similar UI code written in Struts.
    I agree with the previous comments that JSF performance is much slower than JSP. The JSF implemention that I'm working on [MyFaces] is clearly loaded with performance problems. For example, there's object creation all over the place in the table component as it coerces the data from one form into another.
    I've also looked at doing my own implementation of the components that are giving me problems. The problem with that is that coercion is forced by the way the JSF specifiction was written. I never had to this much data conversion when writing Swing applications, why isn't JSF designed similarly to Swing?
    JFA

  • Which JSF implementation to chooose - Sun's reference impl OR Apache MYFace

    Hi ,
    We are starting new UI development and would like to know,
    which JSF implementation to chooose - Sun's reference implementation OR Apache MYFaces and why ?
    Thanks

    I have had good luck using the MyFaces implementation. I switched from Sun's after running into a few too many exceptions with little explanation on where to look for the error.
    That said, I've since switched to using facelets so my view is created by xhtml files instead of JSPs. I cannot recommend this way of doing things highly enough!
    Regardless of which you choose, you can still use MyFaces tomahak components in your site - the date input is really fantastic!

Maybe you are looking for

  • How to add extension fields and mashups to partner solution?

    To add extension fields and mashups I have log on to the system using a user with adaptation rights. There's no possibility to do that from within the UI designer, right? Now, if I adapt the screens with extension fields or by creating and adding mas

  • Snow Leopard, quicktime H264 playback, cinema speakers cause video freezing

    I'm running Snow Leopard 10.6.1 on an early 2009 MBP 17 (2.66ghz) with 9400 and 9600 graphics chipsets. This version of Snow Leopard supports hardware-accelerated H264 video playback on the 9400 chipset. I have a 1080p video which plays back flawless

  • ITunes imported a lot of trash...

    For some reason I have almost 2000 files with the sounds of a couple of games, many of them less than 1 second long. Is there a way to select them and delete them other than one-by-one? Thanks.

  • Invalid sibling link?

    Hi, Today my macbook pro started powering down after hanging during the boot process. going to verbose mode, i noticed an "invalid sibling link" error during the drive check, just before the cpu halted. the hardware diagnostics say nothing's wrong wi

  • How to append an xml string as a child node to a dom document

    Hi I have an xml represented as a String. Now I want to add this xml string as a child node to another DOM Document. Do I have to first parse the xml String into a xml Document and then add the nodes to the existing Document. Is there a simpler way t