NullPointerException because HttpSession is NULL in new Browerwindow

Hi all,
we are running a jsp as portlet. Following a Link on the jsp site, a new browser window gets opened via java script. The url of the new window points a servlet in the same web application archive as the jsp. In IAS90201 HttpSession for jsp and servlet has been the same. Since IAS9021 the servlet gets a NullPointerException when it tries to read objects from the HttpSession.
Did anybody else know this behavior and may have a workaround for this behavior?
Thanks for help.
Regards Markus

Markus,
Just a few concerns,
1) Have you set the "Login Frequency" to Never during Provider Registration? If that is the case then every Http request will be accompanied with a new session. So change it to "Once Per Session".
2) Is your JSP hitting the servlet directly (i.e. it is bypassing the PPE & JPDK framework)? If that is the case then a request from this new browser window will cause a new Http Session to be created as its a new connection directly between the browser -----> Servlet (bypassing PPE & JPDK). However, if the new window is opened within the Portal context ( & if login frequency is not "Never"), the same Http Session will be reused.
Hope this helps,
Abhinav

Similar Messages

  • NullPointerException:Portlet bindings are null for portlet component portle

    Hi , I am new to Webcenter, after depoying portlet on weblogic using Jdeveloper, while accessing the url i am facing the following error,
    Any help appreciated.
    java.lang.NullPointerException: Portlet bindings are null for portlet component portlet1.
    at oracle.adf.view.rich.component.portlet.PortletBase.getPortletBinding(PortletBase.java:577)
    at oracle.adf.view.rich.component.portlet.PortletBase.getPortletModel(PortletBase.java:599)
    at oracle.adfinternal.view.faces.taglib.portlet.CorePortletTag.doStartTag(CorePortletTag.java:669)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspIterationTagNode.executeHandler(OracleJspIterationTagNode.java:45)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspNode.execute(OracleJspNode.java:89)
    at oracle.jsp.runtimev2.ShortCutServlet._jspService(ShortCutServlet.java:89)
    at oracle.jsp.runtime.OracleJspBase.service(OracleJspBase.java:29)
    at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:665)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:385)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:802)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:726)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    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.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:524)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at oracle.adfinternal.view.faces.config.rich.RecordRequestAttributesDuringDispatch.dispatch(RecordRequestAttributesDuringDispatch.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:469)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
    at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:279)
    at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:279)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
    at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:279)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:800)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:294)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:214)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    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.

    Hi , I am new to Webcenter, after depoying portlet on weblogic using Jdeveloper, while accessing the url i am facing the following error,
    Any help appreciated.
    java.lang.NullPointerException: Portlet bindings are null for portlet component portlet1.
    at oracle.adf.view.rich.component.portlet.PortletBase.getPortletBinding(PortletBase.java:577)
    at oracle.adf.view.rich.component.portlet.PortletBase.getPortletModel(PortletBase.java:599)
    at oracle.adfinternal.view.faces.taglib.portlet.CorePortletTag.doStartTag(CorePortletTag.java:669)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspIterationTagNode.executeHandler(OracleJspIterationTagNode.java:45)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspClassicTagNode.evalBody(OracleJspClassicTagNode.java:87)
    at oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:58)
    at oracle.jsp.runtime.tree.OracleJspCustomTagNode.execute(OracleJspCustomTagNode.java:261)
    at oracle.jsp.runtime.tree.OracleJspNode.execute(OracleJspNode.java:89)
    at oracle.jsp.runtimev2.ShortCutServlet._jspService(ShortCutServlet.java:89)
    at oracle.jsp.runtime.OracleJspBase.service(OracleJspBase.java:29)
    at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:665)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:385)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:802)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:726)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    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.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:524)
    at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:410)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at oracle.adfinternal.view.faces.config.rich.RecordRequestAttributesDuringDispatch.dispatch(RecordRequestAttributesDuringDispatch.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44)
    at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267)
    at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:469)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
    at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:279)
    at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:279)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
    at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
    at oracle.webcenter.portalframework.sitestructure.handler.CustomViewHandler.renderView(CustomViewHandler.java:279)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:800)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:294)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:214)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
    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.

  • HT204053 If I add a new iCloud account to my iPhone 5, will I be "locked out" because I'm using a new Apple ID to do it? Do I have to use a new Apple ID to create a new iCloud account? Want to separate calendars/contacts for 2 iPhones now using 1 iCloud a

    If my husband add a new iCloud account to his iPhone 5, will he be "locked out" because he's using a new Apple ID to do it? Does he have to use a new Apple ID to create a new iCloud account? He set up his phone using my Apple ID because we didn't know any better. Now we want to separate calendars/contacts, but are afraid of the 90-day lockout.

    Welcome to the Apple Support Communities
    You can change the Apple ID without any problem. On his device, go to Settings > iCloud > Delete account and login with his Apple ID so he'll get his information. iCloud needs an Apple ID, so if he hasn't got one, he must create an Apple ID > http://appleid.apple.com
    When you delete the iCloud account, all the information will be deleted, so I recommend you to turn off each service before deleting iCloud

  • Hello, I would like to know how to transfer one of my two "membership" to an other computer because I just bought a new Mac.... ? Or how to cancel it on my old laptop so I can activate it on my new computer. Thanks a lot !

    Hello, I would like to know how to transfer one of my two "membership" to an other computer because I just bought a new Mac.... ? Or how to cancel it on my old laptop so I can activate it on my new computer. Thanks a lot !

    Hi Virginie,
    You need to go under the help menu option and sign out from Muse and then install it on the other computer that you want using the creative cloud desktop app.
    - Abhishek Maurya

  • My itunes cannot be update on my windows xp. so i delete my itunes and install new, but now i got new problems, it says "The file itune.library.itl cannot be read because it was created by newer version of itunes." so how can it be solved?

    my itunes cannot be update on my windows xp. so i delete my itunes and install new, but now i got new problems, it says "The file itune.library.itl cannot be read because it was created by newer version of itunes." so how can it be solved?

    Hello Bebyida,
    Thanks for using Apple Support Communities.
    For more information on this, take a look at:
    http://www.apple.com/itunes/download/
    Best of luck,
    Mario

  • Warning that the library cannot be loaded because it is from a newer version of Aperture

    I'm getting a warning message that the library cannot be loaded because it is from a newer version of Aperture

    Did you reinstall Aperture recently or try to open a library created on a different system?
    Check the version of your Aperture Library (reveal the Library in the Finder and select it, the Preview or Get Info shuld show you the Version of the Library.)
    If your Aperture 3 Version is not the current Version 3.2.1, but your Library is, then update Aperture to the current version.
    If on the other hand both Versions are identical, then check if you have a second, older Aperture version installed. Deinstall the older version or make your most recent Aperture version the active one, by selecting your Aperture Library in the Finder, opening File-Get Info on the LIbrary and setting the "Open With" to your current Aperture Version.

  • HT201412 Safari could not open the page because the server stopped responding- new ipad mini's (2 from separate places) are not working with At & T router but computers work. Can you please help me. I've tried everything. Thanks ya'll!

    Safari could not open the page on my new ipad mini's because the server stopped responding- new ipad mini's (2 from separate places) are not working with At & T router but computers work fine. Yesterday I got it to work. Weird. Can you please help me. I've tried everything. Thanks ya'll!

    Hello SavannahSweetie,
    I was looking into the issue you are desribing, and found a great article for troubleshooting wifi connections with iOS devices. It's called iOS: Troubleshooting Wi-Fi networks and connections and can be found here: http://support.apple.com/kb/ts1398.
    Start with this section, and work your way down if needed.
    Basic troubleshooting
    Tap Settings > Wi-Fi and turn Wi-Fi off and then on again.
    Verify that you are in range of your Wi-Fi router or base station.
    Confirm that your Wi-Fi router and Cable/DSL modem are connected to power and turned on.
    Check whether other devices (portable computers, for example) are able to connect to the Wi-Fi network and access the Internet.
    Update your Wi-Fi router to the latest firmware.For AirPort Base Stations, refer to this article for information about firmware updates. For third-party Wi-Fi routers, check the manufacturer's website for details on updating your firmware.
    Restart your iOS deviceHold the On/Off button until "slide to power off" appears. Slide to power off your device. When it is off, press the On/Off button to turn it back on.
    All the best,
    Sterling

  • I have just just installed a new version of itunes. When i tried to run the new version it came up with the message "The file ituneslibrary.itl cannot be read because it was created by newer version of itunes. Can anybody advise?

    I have just just installed a new version of itunes. When i tried to run the new version it came up with the message "The file ituneslibrary.itl cannot be read because it was created by newer version of itunes.
    I installed the new version because itunes had not recognised my ipod nano 5G, and told me to reinstall. Itunes selected which version to install, so I don't understand what is going on. To add insult to injury it installed a pile of malware which I am still trying to get rid off.
    Any advice would be helpful

    Hello Davedamoclese,
    Go through the below link to Remove iTunes and all its components from your computer first and then Re-install fresh copy of iTunes on your computer.
    http://support.apple.com/kb/HT1923
    Note : DO not delete iTunes Library as it contains all your iTunes data, please go through the below link for where it is saved on your computer :
    http://support.apple.com/kb/ht1391
    You can download the latest version of iTunes from the below link :
    http://www.apple.com/itunes/download/

  • After new update, itunes will not launch says "itunes library. itl" cannot be read because it was created by newer version. What do I do to correct this?

    After the newest update, itunes will not launch says "itunes library. itl" cannot be read because it was created by newer version. What do I do to correct this?

    See Empty/corrupt iTunes library after upgrade/crash.
    tt2

  • HT1766 When I started my new iPad 2 I could not start from a previous backup because the os on the new iPad is not the latest 7.x used to backup the previous ipad2  to install the new os I had to start the iPad as new. But now I cannot backup from the pre

    When I started my new iPad 2 I could not start from a previous backup because the os on the new iPad is not the latest 7.x used to backup the previous ipad2  to install the new os I had to start the iPad as new. But now I cannot backup from the previously backup ipad

    Hi there,
    You may find the troubleshooting steps in the articles below helpful.
    iCloud: Troubleshooting restoring an iCloud backup
    http://support.apple.com/kb/ts4036
    iOS: If you can't back up or restore from a backup in iTunes
    http://support.apple.com/kb/ts2529
    -Griff W. 

  • I purchased Lightroom from B&H Photo a few months ago.  I did not instal the software, because I was purchasing a new computer in the near future.  I am now purchasing that computer, but cannot find the software.  B&H suggested that I contact you directly

    I purchased Lightroom from B&H Photo a few months ago.  I did not instal the software, because I was purchasing a new computer in the near future.  I am now purchasing that computer, but cannot find the software.  B&H suggested that I contact you directly to help me.  I have the receipt, and you can look to see that the program was never used.  It would be great if you could just send me another copy of the software.  Thank you very much.
    Marc

    Download from Adobe's website
    Win: Adobe - Lightroom : For Windows
    Mac: Adobe - Lightroom : For Macintosh
    Install then enter your serial number when prompted.
    I have the receipt, and you can look to see that the program was never used.
    The receipt is only of use to B&H. Adobe will have no record of it.
    If you quote an Adobe Lightroom serial number then Adobe can confirm if that serial number has ever been registered. That step should not be required at this stage though. Just install the software.

  • TS1371 itune library.itl cannot open because it can done by newer version

    itune library.itl cannot open because it can done by newer version

    your in Quicktime discussion, try the folks in the iTunes they might help

  • HT4623 i can no longer access Safari.  It's not the phone because Apple just sent a new one and it still does not work.  I use the same computer to sync my ipodtouch5 and it has Safari.  My iphone4 does not.  What is the problem?

    I can no longer access Safari.  It's not the phone because Apple just sent a new one and it  (Safari) still does not work.  I use the same computer to sync my ipodtouch5 and Safari is operable.   However, Safari on my iphone is not.  What is the problem?

    That is the way it works. It designed to do that.
    In addition to everything else you have to this other person's computer you would have to move your complete iTunes library over also. Only then will it recognize youriTouch.
    Allan

  • TS1368 itunes library.itl cannot be read because it was created by newer version of itunes

    Itunes library.itl cannot be read because it was created by newer verson of itunes. How to fix so I can get inti itunes account on my apple laptop.

    See Empty/corrupt iTunes library after upgrade/crash.
    tt2

  • The app messenger was not installed because the ipod needs a new version but i'm just updated to the last verison.What i do?

    The app messenger was not installed because the ipod needs a new version but i'm just updated to the last verison.What i do?

    What model iPod do you have and what iOS is on the iPod?
    What is the specific app?
    If you have iOS 4.2.1 or later on the iPod and there was version compatible with that version, then you should be able to get a compatible version by:
    App Store: Downloading Older Versions of Apps on iOS - Apple Club
    App Store: Install the latest compatible version of an app
    You first have to download the non-compatible version on your computer. Then when you try to purchase the version on your iPod you will be offered a compatible version if one exists.

Maybe you are looking for