Hashing classes in F4 SDK

Hi,
Can anyone point me to an SHA-1 Provider in Flex4 please - I simply wish to generate a 160-bit hash of a string.
I see a SHA256 in mx.utils but it is not what I need.
Many thanks,
Simon.

does this help
http://www.webtoolkit.info/actionscript-sha1.html
David

Similar Messages

  • Are there non-public classes in Java SDK?

    Or are ALL classes in all packages of the Java SDK public?
    I have looked in the sources spot checking and didn't find a non public (default) class.
    If all classes are public, why?
    There exists a means in Java language to define a class as default ("class MyClass" instead of "public class MyClass") visibility. So why isn't it used by Java SDK (if this is really true)?

    I dont know what language you're programming in.
    If you don't specify
    public class
    or
    private class
    the class is "protected".
    Read the spec.If you read the spec, you'll see that, with respect to a class:
    (per section 6.6.2) Classes from outside the package the class lives in that extend the class have access to protected members.
    (per section 6.6.5) Classes from outside the package this thing lives in that extend this class do not have access to default members.
    Relevant part of section 6.6.5 (Example: Default-Access Fields, Methods, and Constructors) is:
    If none of the access modifiers public, protected, or private are specified, a class member or constructor is accessible throughout the package that contains the declaration of the class in which the class member is declared, but the class member or constructor is not accessible in any other package.
    This is default access, not protected access
    Lee

  • Required classes for CM SDK  example application

    hello everyone .
    I am trying to run the sample application of CM SDK that is webstarterappII.
    But unable to get the required jars that include these files.
    oracle.cabo.share.util.CaboHttpUtils
    oracle.gss.util.NLSLocale
    oracle.cabo.share.util.MultipartFormHandler;
    oracle.cabo.share.util.MultipartFormItem
    and more ....
    Any body can suggest me from where i can get the jar for these classes or can get the class file or source any hint.
    every suggestion will be highly appreciable
    regards
    saleem khan

    These are found in the uix jar file. See the readme for WSA II for futher details.

  • Looking for a formal training class for the SDK.

    Is there a formal SDK class this forum would recommend? Focus is on Cloud for Customer.

    Hi Michael,
    yes, there is:
    WDC4C3 - Cloud for Customer-Development Training | SAP Training and Certification Shop
    Cheers,
    Jens

  • How to use ScriptList class in Indesign CS5 SDK?

    Hi,
    Can anyone help to this concern??...
    I couldn't use ScriptList class in CS5 SDK, as we use in Indesign CS4. It throws the following error when I build my plug-in.
    Error     1    error LNK2001: unresolved external symbol "__declspec(dllimport)  struct adobe::version_1::new_delete_t const  adobe::version_1::local_new_delete_g"  (__imp_?local_new_delete_g@version_1@adobe@@3Unew_delete_t@12@B)
    Here follows the Code I used to apply script label to a pageItem.
        ErrorCode err=kFailure;
         InterfacePtr<IScript> iScript(argPageItemUIDRef, UseDefaultIID());
         ScriptList myScriptList;     // including this class throws the above error.
         myScriptList.push_back(iScript);
         IScriptLabel::ScriptLabelValue myTagValue(argLabel);
         InterfacePtr<IScriptManager>scriptMgr(Utils<IScriptUtils>()->QueryScriptManager(kScriptTa gMgrBoss));
          err=Utils<IScriptUtils>()->SetScriptingTag(myScriptList,scriptMgr->QueryDefaultEngine()->GetRequestContext(),myTagValue);
         return err;
    with thanks,
    Praba

    2i_Geert wrote:
    People who are still having problems with this should add the "AslSupport.lib" to the additional dependencies in the linker settings (Visual Studio).
    Thanks, it helped me

  • Class descriptions are not shown with SDK 3.5

    Hi everybody,
    I'm using a stand-alone version of Flash Builder 4 on Snow Leopard.
    When I use the 4th Flex SDK, the documentation for the classes from the SDK (e.g., mx.controllers.Button) is shown in the tooltip (or the ASDoc-View). When using Flex SDK 3.5 though, it just says "mx.controls.Button". Only the docs for my own classes are displayed.
    My friend has this working on Windows 7 with both SDKs.
    Is there anything I can do about it?.. (please don't tell me to switch to windows )
    Thanks!

    Really with both SDKs? I filed a similiar forum post some months ago and was told that its "not possible" for FB to show the ASDOC since its somehow not built into the SDK or something..
    http://forums.adobe.com/thread/573849?tstart=0
    I would love to have FB display ASdoc for any SDK (and I do have Win7 ) - so if you could let me know how your friend solved that one, that would be awesdome..

  • SSO login for custom BO SDK Application

    Hi,
    I am trying to build custom application using BO SDK. Requirement is application should be SSO configured.
    Below is my sample code of JSP
    <%@ page import = "com.crystaldecisions.sdk.framework.ISessionMgr"%>
    <%@ page import = "com.crystaldecisions.sdk.framework.IEnterpriseSession"%>
    <%@ page import = "com.crystaldecisions.sdk.exception.SDKException"%>
    <%@ page import = "com.crystaldecisions.sdk.occa.infostore.IInfoStore"%>
    <%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
    <%@ page import="org.ietf.jgss.GSSCredential"%>
    <%@ page import="org.ietf.jgss.GSSManager"%>
    <%@ page import="com.businessobjects.sdk.credential.CredExtractor"%>
    <%
                   GSSCredential creds = null;
                   GSSManager manager = null;
                   CredExtractor credExtractor = new CredExtractor(request);
                     creds = credExtractor.GetCredential();
                     manager = credExtractor.GetManager();     
                   ISessionMgr sm = CrystalEnterprise.getSessionMgr();
                   IEnterpriseSession enterpriseSession = sm.logon(creds, manager, cms, authentication);
                   IInfoStore infoStore = (IInfoStore)enterpriseSession.getService("", "InfoStore");
                   String token=enterpriseSession.getLogonTokenMgr().getDefaultToken();
                   String myUserID=enterpriseSession.getUserInfo().getUserName().toString();
                   session.setAttribute("myUserID",myUserID);
                   session.setAttribute("token", token);
                   session.setAttribute("InfoStore", infoStore);
                   session.setAttribute("enterpriseSession",enterpriseSession);
                response.sendRedirect("home.jsp");
    %>
    i am redirecting to home.jsp and on home.jsp page i am just displaying userID whish is set in above code
    I am deploying my application on server which is SSO enable (Vintela)i have made the necessary changes in web.xml file also
    below is my web.xml file
    <filter>
              <filter-name>authFilter</filter-name>
              <filter-class>com.businessobjects.sdk.credential.WrappedResponseAuthFilter</filter-class>
              <init-param>
                   <param-name>idm.realm</param-name>
                   <param-value>abcd.AD.some.COM</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.princ</param-name>
                   <param-value>abso/SYSBODEV.abcd.ad.some.com</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.keytab</param-name>
                   <param-value>C:\winnt\sysbodev.keytab</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.allowUnsecured</param-name>
                   <param-value>true</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.allowNTLM</param-name>
                   <param-value>false</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.logger.name</param-name>
                   <param-value>simple</param-value>
                   <description>The unique name for this logger.</description>
              </init-param>
              <init-param>
                   <param-name>idm.logger.props</param-name>
                   <param-value>error-log.properties</param-value>
              <description>                Configures logging from the specified file.            </description>       
              </init-param>
              <init-param>
                   <param-name>error.page</param-name>
                   <param-value>/frame/errorSSO.jsp</param-value>
                   <description>The URL of the page to show if an error occurs during authentication.</description>
              </init-param>
         </filter>
    <filter-mapping>
            <filter-name>authFilter</filter-name>
            <url-pattern>/frame/frameset.jsp</url-pattern>
        </filter-mapping>
    but i am getting error saying VSJ authentication was not performed for this request.
    can any one help me ouot where i am going wrong
    Edited by: Asraf_Shaikh on Aug 25, 2011 6:39 PM

    Hi ivan,
    since i was busy with something else, so i could not logging to the forum and reply on time, anyways if your problem is still not solved.
    then follow the approach ( this is for java only)
    1. see if you can access infoview application , if yes then check web.xml file and try to uncomment the comment elements in web.xml file.
    2. check the jar file needed for sso , like credential.jar. you can take all the jar file from infoview application
    below is my code for sso login( only the important things i am putting rest you can manage)
    imports
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.log4j.Logger;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.ietf.jgss.GSSCredential;
    import org.ietf.jgss.GSSManager;
    import com.businessobjects.sdk.credential.CredExtractor;
    import com.crystaldecisions.sdk.framework.CrystalEnterprise;
    import com.crystaldecisions.sdk.framework.IEnterpriseSession;
    import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
    code
    GSSCredential myCredential = null;
    GSSManager myManager = null;
    CredExtractor myCredExtractor = new CredExtractor(request);               
    myCredential = myCredExtractor.GetCredential();
    myManager = myCredExtractor.GetManager();
    String myCmsName = getServlet().getServletContext().getInitParameter("cms.default");
    IEnterpriseSession myIEnterpriseSession = CrystalEnterprise.getSessionMgr().logon(myCredential,myManager, myCmsName, SEC_WINAD);
    IInfoStore myIInfoStore = (IInfoStore) myIEnterpriseSession.getService(PortalConstants.EMPTYSTRING, PortalConstants.INFOSTORE);
    you can put try catch block -
    web.xml file
         <filter>
              <filter-name>authFilter</filter-name>
              <filter-class>com.businessobjects.sdk.credential.WrappedResponseAuthFilter</filter-class>
              <init-param>
                   <param-name>idm.realm</param-name>
                   <param-value>HODC.AD.abc.COM</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.princ</param-name>
                   <param-value>BOSSO/SYSBODEV.hodc.ad.abc.com</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.keytab</param-name>
                   <param-value>C:\winnt\sysbodev.keytab</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.allowUnsecured</param-name>
                   <param-value>true</param-value>
              </init-param>
              <init-param>
                   <param-name>idm.allowNTLM</param-name>
                   <param-value>false</param-value>
              </init-param>
              <init-param>
                   <description>The unique name for this logger.</description>
                   <param-name>idm.logger.name</param-name>
                   <param-value>simple</param-value>
              </init-param>
              <init-param>
                    <description>Configures logging from the specified file.</description> 
                   <param-name>idm.logger.props</param-name>
                   <param-value>error-log.properties</param-value>
              </init-param>
              <init-param>
                   <description>The URL of the page to show if an error occurs during authentication.</description>
                   <param-name>error.page</param-name>
                   <param-value>/JSP/failure.jsp</param-value>
              </init-param>
         </filter>
              <filter-mapping>
              <filter-name>authFilter</filter-name>
              <url-pattern>/logon.do</url-pattern>
         </filter-mapping>
    above code is working , so if you can follow the same,it should work for you also.and it for secWinad and sso is vintela
    let me know the status

  • Error :  java:6: package com.crystaldecisions.sdk.framework does not exist

    Hi All,
    I am using BO XI R2 version.
    I am facing issues with BOE Java SDK web application.
    In this application, I have just by-passed login page(jsp page) and logout from BO. But, it is throwing errors as mentioned below:
    Generated servlet error:
    E:\BusinessObjects\Tomcat\work\Catalina\localhost\_\org\apache\jsp\BO_005fHello_005fWorld\login_jsp.java:6: package com.crystaldecisions.sdk.framework does not exist
    import com.crystaldecisions.sdk.framework.CrystalEnterprise;
    Application gives errors for these two packages:
    package com.crystaldecisions.sdk.framework
    package com.crystaldecisions.sdk.exception
    Can anyone please tell me the solution?
    From where I can get the jar files to resolves these problems?
    I tried to search these jar files in BO installation folder but was not able to get.
    Can anyone tell the exact folder path for these jar files, if it is there.
    Or any link to download jar files.
    Thanks in advance.

    Hello ,
    -In order to run your application, please copy the Business Objects JAR files from the installed location.
    -For example : If you have installed Business Objects on C:
    then , go to the path :
    C:\Program Files\Business Objects\common\3.5\Java\Lib and copy all the Jar files from that location including JAR files that are present in the external folder.
    -Paste these JAR files inside lib folder of your application.
    -The class com.crystaldecisions.sdk.framework comes under cesession.jar
    Thanks,
    Chinmay

  • SSO implemention in distributed environment / BO SDK

    Hi All,
    I am working on Single Sign On (SSO)  implementation.
    I have Jboss Application Server which my web application resides
    and Business objects is resides on other Server
    SSO is implemented in the Business Objects Server.
    I can open the CMC from Internet Explorer without login on machine
    I tried some steps from the Tim's Document
    (http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/d0f6ac3c-b3ac-2b10-1b95-c9bd46194977): 
       1)Added bscLogin.conf and krb5.ini in Window folder
       2)kinit.exe with my user id  it works
       3) Added in Java_OPTS in the JBoss Server :
    -Djava.security.auth.login.config=C:WINDOWS scLogin.conf
    -Djava.security.krb5.conf=C:WINDOWSkrb5.ini
    -Dcrystal.enterprise.trace.configuration=verbose
    -Dsun.security.krb5.debug=true
    -Djcsi.kerberos.debug=true
    Issues:
    1)SDK login :
       ISessionMgr mySesionMgr =   CrystalEnterprise.getSessionMgr();     
       IEnterpriseSession eSession = mySesionMgr.logon("user", "pass", "ServerName", "secWinAD");
       this doesn't work.
    2)I checked this url which doesn't help very much.
       http://www.sdn.sap.com/irj/boc/index?rid=/library/uuid/208ecaaa-7964-2b10-f2a8-94446a63c67f
    Do i have to implement any other configuration in my Jboss Server..?
    What should be the BO SDK logon
    Can any body help me out.

    Your code should look something like:
    <%@ page import="org.ietf.jgss.GSSCredential"%>
    <%@ page import="org.ietf.jgss.GSSManager"%>
    <%@ page import="com.businessobjects.sdk.credential.CredExtractor"%>
    <%
      IEnterpriseSession ceSession = null;
      String logonToken = null;
      //For Windows AD authentication the logon would be:
      GSSCredential creds = null;
      GSSManager manager = null;
      CredExtractor credExtractor = new CredExtractor(request);
      creds = credExtractor.GetCredential();
      manager = credExtractor.GetManager();
      ceSession = CrystalEnterprise.getSessionMgr().logon(creds, manager, "TCBOESP3.LMAUTH03.NET", "secWinAD");
    %>
    Your web.xml should be setup similar to this:
      <filter>
            <filter-name>authFilter</filter-name>
            <filter-class>com.businessobjects.sdk.credential.WrappedResponseAuthFilter</filter-class>
            <init-param>
                <param-name>idm.realm</param-name>
                <param-value>LMAUTH03.NET</param-value>
            </init-param>
            <init-param>
                <param-name>idm.princ</param-name>
                <param-value>boadmin.test</param-value>
            </init-param>
            <init-param>
                <param-name>idm.allowUnsecured</param-name>
                <param-value>true</param-value>
            </init-param>
            <init-param>
                <param-name>idm.allowNTLM</param-name>
                <param-value>false</param-value>
            </init-param>
            <init-param>
                <param-name>idm.logger.name</param-name>
                <param-value>simple</param-value>
                <description>
                    The unique name for this logger.
                </description>
            </init-param>
            <init-param>
                <param-name>idm.logger.props</param-name>
                <param-value>error-log.properties</param-value>
                <description>
                    Configures logging from the specified file.
                </description>
            </init-param>
            <init-param>
                <param-name>error.page</param-name>
                <param-value>../logonNoSso.jsp</param-value>
                <description>
                    The URL of the page to show if an error occurs during authentication.
                </description>
            </init-param>
        </filter>
    <filter-mapping>
                 <filter-name>authFilter</filter-name>
         <!-- <url-pattern>/sample/*</url-pattern> -->
         <url-pattern>/logon/logonService.do</url-pattern>
    </filter-mapping>
    In the code we leverage some classes that InfoView uses to pull the Kerberos/Vintela info.  The only other piece that is required is to leverage the authFilter of InfoView.  The authFilter needs to be setup in the application context via the web.xml.  As well the URL pattern of the authFilter needs to be set so that when the jsp page that is doing the logon is being run, that the filter is triggered.  The filter config and mapping can be pulled from the web.xml in /InfoViewApp/WEB-INF/web.xml

  • Crystal Reports 2013 java-error "java.lang.ClassCastException: class com.crystaldecisions..." when promoting

    Hi,
    when promoting "Crystal Report 2013" report (with data connectivity BW MDX Query) from BO DEV to BO PROD with BO Promotion Mgmt (LCM), we get the following error message in LCM jobs history:
    Resolution Status=Overwritten, Dependency Status=All the required dependencies are included.,
    Commit Status=Commit attempted and failed.,
    Promotion Status=Failure : Object promoted. Update failed.
    Error: java.lang.ClassCastException: class com.crystaldecisions.sdk.occa.report.lib.ByteArray:java.net.URLClassLoader@1d634758 incompatible
    with class com.crystaldecisions.sdk.occa.report.lib.PropertyBag:java.net.URLClassLoader@1d634758
    The report itself is present on BO PROD, but the overwrite (BW DEV MDX Query-> BW PROD MDX Query) is not applied, so report connectivity still points to the BW Query on the development system :-( .
    Moreover, the overwrite itself is detected when the job is "test promoted" ("active overwrite").
    Before, we successfully were able to transport crystal reports 2013 with overwrite (the connection then pointed to BW PROD). No idea yet what suddenly changed that...
    Any ideas what causes the error and what can fix it (no posts found, no SAP note, google also no hits)?
    Best regards
    Florian Pitschi

    Update:
    After more investigation, it looks as if the BO Server "CrystalReports2013ReportApplicationServer"
    from time to time has an issue - not only when promoting, but also when viewing publications that contain Crystal Report documents or when executing them, the java class error or similar issue is thrown.
    Did sb face similar behaviour and knows what is the root cause for "CrystalReports2013ReportApplicationServer" not working probably and throwing the java-class error? - it was running fine for several months, now, the class error showed up twice in one month.
    We need to find out what is causing the issue (aleady checked tomcat and BO-logfiles...).
    Best Regards
    Florian

  • Implementing versioning with a Java SDK

    I have an SDK that I supply to vendors who want to develop custom classes that extend the classes in my SDK .jar (the specifics of the SDK is unimportant). I am trying to devise a way find out what version of the SDK the vendor compiled their class against without requiring the vendor to make code changes.
    In my first attempt, I included a final method in the SDK called getVersion() that returned "1.0". The problem with this approach is that when I instantiate the vendor's class (that extended the class in the SDK), and call getVersion() on the vendor's class, I get the value "1.0" from the base class, not the vendor class. Therefore, if the vendor compiles his .class file with the "1.0" version of the SDK, and I later upgrade my SDK to "2.0", whenever I call getVersion() from the vendor's .class file, I always get the version from the base class (i.e. "2.0") and not the version that they used originally ("1.0").
    What I am trying to do is figure out a way to mark a vendor's class in a manner that is independent of the SDK. Obviously, I could tell the vendor to implement getVersion() and return the number that the SDK is at, or I could have the vendor implement another class called "SDKVersion" and change this to "SDKVersion2_0"..."SDKVersion3_0" as needed, but these require the vendor to take specific action to identify what version they compiled against. I would rather the vendor be unaware of the versioning if possible.
    Is there some way to "mark" the class when it is compiled with a number or name? That's all I need to do to accomplish my versioning goals.
    Thanks for any help you have,
    Michael

    You mean, some option of the javac command that would automatically add a getVersion() method to your code? Or a constant containing the version number? When you put it that way, the answer is obviously NO. If you want to require your vendors to implement getVersion(), then declare your class as abstract and define an abstract getVersion() method.

  • Illustrator SDK sample: Windows plug-in error when exporting to EMF

    Hi All,
    I'm trying to create a plug-in that exports a whole AI document or just a selected portion of it to an EMF file.
    I've used classes from [SnippetRunner] SDK sample, i.e. from \Code Snippets folder, and I've encountered a very strange behavior when calling
    SnpDocumentActionHelper::ExportDocument(ActionDialogStatus dialogStatus, AIActionParamValueRef parameters)
    with formats such as WMF, EMF etc.
    If function sAIActionManager->PlayActionEvent() is called with 'kDialogOff' status an error message "The plugin cannot complete because of an unknown error" appears, although the export is completed and the return code is 'kNoErr'.
    If I try exporting with a dialog interface (omit parameters or 'kDialogOn') everything is fine.
    I checked it both for CS3 and CS4 SDK, as well as for WinXp and WinVista.
    I also tested with the actual sample plug-in (SnippetRunner), same behavior.
    Is this an SDK bug? Any ideas?

    I don't have a lot of experience with this kind of problem, but the first thing I'd check is the parameter block you're passing the action call. I don't know why it would matter if the dialog appeared or not, unless the export settings block wasn't being filled in with everything it needs?
    You might try recording an export you perform manually via the action palette, and then saving it to a file. You can open it up manually and compare it (even if it's a binary block) to what you're doing in code. You might spot something that way.
    I don't know what else to suggest though. It's unlikely to be an SDK bug, though it could be a bug in the action-aware part of the exporter.

  • Can I use Windows MFC to develop user interface for Adobe photoshop plug-in?

    Hi I need to have some of the controls like image list ( displaying thumbnail preview) and tree controls. I think it is difficult achieve the same using the ADM controls. I was wondering whether I am able to add winodws MFC class and launch the window from the PlaugInMain() function using DoModal().
    I tried doing it by adding the MFC class into the SDK samples provided with the Photoshop SDK. I got error like "object does not support this property".
    Thanks in advance.

    Right now, we don't have a cross platform answer.
    Most people are writing to the platform native APIs, or using some UI toolkit that works with the platform of choice. Larger plugin developers have their own UI code toolkits.
    ADM was always more problem than solution, and became too big a problem to maintain (you'll notice that our plugins that use ADM went away or became scripts).
    We're working on better solutions now.

  • CR Server 2008 / Using openDocument interface with a no-logon wrapper

    Hi, all!
    I had a problem with the openDocument.jsp interface and a no-logon wrapper which took me quite a while to figure out. I'm now posting these results here in the hopes that someone else will find them useful. Of course, if anyone has input how to improve the solution, it's also welcome!
    The system on which this was developed and tested was a vanilla Crystal Reports Server 2008 installation on Tomcat / MySQL / Windows Server 2003.
    The problem was that calls to openDocument interface left sessions open and this quickly led to the situation where all the concurrent access licenses (CALs) were used. It seemed nondeterministic when a session was released; it could have been minutes or hours.
    The solution: write a HTTP session timeout listener which logoffs the CRS-backend session. (The code below has still some dubug output enabled.)
    package fi.niscayah.util;
    import com.crystaldecisions.sdk.framework.IEnterpriseSession;
    import javax.servlet.http.*;
    import java.util.Date;
    import java.util.Enumeration;
    import java.text.SimpleDateFormat;
    public class KillSession implements HttpSessionListener
        public void sessionCreated(HttpSessionEvent event)
            debug("sessionCreated()", event);
        public void sessionDestroyed(HttpSessionEvent event)
            HttpSession session = event.getSession();
            try {
                java.util.Enumeration name = session.getAttributeNames();
                while (name.hasMoreElements()) {
                    String attributeName = (String)name.nextElement();
                    Object attribute = session.getAttribute(attributeName);
                    if((attribute != null) && (attribute instanceof IEnterpriseSession)) {
                        debug("  attribute : " + attributeName);
                        debug("  type      : " + attribute.getClass().getName());
                        IEnterpriseSession ies = (IEnterpriseSession)attribute;
                        ies.logoff();
                debug("sessionDestroyed()", event);
            } catch (Exception ex) {
                debug("sessionDestroyed() exception");
        private void debug(String msg)
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
            String timestamp = sdf.format(new Date());
            System.err.println("[KillSession] [" + timestamp + "] " + msg);
        private void debug(String msg, HttpSessionEvent event)
            HttpSession session = event.getSession();
            String id = session.getId();
            String context = session.getServletContext().getServletContextName();
            debug("[" + context + "] [" + id + "] " + msg);
    (If you want to test the above code, create a .jar package out of it and put it in webapps/OpenDocument/WEB-INF/lib.)
    Next we need to register our listener. I noticed that the openDocument-webapp's web.xml-file already contained a listener definition that claimed to expire enterprise sessions on HTTP timeout. I never saw such results; I tested it by registering my own listener, which only outputted debug information, and then when ever a session timeout happened, I checked the amount of licenses in use via the CMC - it never dropped predictably.
    So, comment out the SessionCleanupListener and add KillSession.
    <!-- SK: Added own listener. -->
    <listener>
        <listener-class>fi.niscayah.util.KillSession</listener-class>
    </listener>
    <!-- SK: Commented out. -->
    <!-- SessionCleanupListener is used to expire the EnterpriseSession when the web session is timeout -->   
    <!-- <listener>
        <listener-class>com.businessobjects.sdk.ceutils.SessionCleanupListener</listener-class>
    </listener> -->
    After the above, change the HTTP session timeout to something more suitable. If you're creating really big reports, one minute might be too little. Also notice, that the value is an approximation. The timeout event might happen just as one minute has passed, but usually it takes more.
    <session-config>
        <session-timeout>1</session-timeout>
    </session-config>
    Now we're good to go and test the openDocument interface. The result should be that every time a HTTP session timeouts, an enterprise session (which was initialized via the openDocument call) is logged off.
    Next the no-logon wrapper.
    I found a lot of examples for logging in automatically, but every one of them exhibited a strange behavior (at least when used in conjunction with the openDocument interface) where the session count was increased by two. A lot of head scratching later, the solution below was devised.
    <%@ page language="java"
        import = "com.crystaldecisions.sdk.framework.CrystalEnterprise,
                  com.crystaldecisions.sdk.framework.IEnterpriseSession,
                  com.crystaldecisions.sdk.framework.ISessionMgr,
                  com.crystaldecisions.sdk.exception.SDKException"
    %>
    <%
    ISessionMgr sessionManager = CrystalEnterprise.getSessionMgr();
    IEnterpriseSession entSession = sessionManager.logon("Guest", "", "<server>:6400", "secEnterprise");
    String entToken = entSession.getLogonTokenMgr().createWCAToken("", 1, 1);
    // So that this can be logged off when the session timeouts
    HttpSession httpSession = request.getSession();
    httpSession.setAttribute("nologon_SESSION", entSession);
    String query = request.getQueryString();        
    String redirectURL = "http://<server>:8080/OpenDocument/opendoc/openDocument.jsp?" +
        query + "&token=" + entToken;
    response.sendRedirect(redirectURL);
    %>
    You can put the above .jsp-file where you like, but I dropped it in webapps/openDocument, since it's no use by itself.
    The use of nologon.jsp is simple: use it as you would openDocument.jsp.
    And there you have it. A word of warning though, if you're not sure what you're doing, I wouldn't recommend trying these things out. And you certainly shouldn't deploy these on a production environment.
    As said before, any input is welcome!

    I'll comment on the BusinessObjects Enterprise logon tokens that you may generate via the Enterprise SDK.
    DefaultToken - this is used for failover - i.e., if the original EnterpriseSession object is destroyed without having logoff() method invoked, the failover can be used to re-connect to Enterprise without redo-ing authentication.  This token is immediately invalidated with EnterpriseSession.logoff().
    CreateLogonToken - token represents an EnterpriseSession independent of the original EnterpriseSession that generates it.  So you should generated the CreateLogonToken and log off the EnterpriseSession before using the token, or you'll have two licenses being used.
    CreateWCAToken - the Web Component Adapter token - this token is tied to the EnterpriseSession used to create it.  If this EnterpriseSession is invalidated, the WCA token can no longer be used.  Since this is essentially re-use of the original EnterpriseSession, license count is not increased with its use.
    So in your application, you're generating the WCA Token, and using the Session Listener to explicitly log off the originating EnterpriseSession.  The SessionCleanupListener is for cleaning up sessions created within InfoView on Web Application Server Session timeout.
    Sincerely,
    Ted Ueda

  • Error when refreshing report

    I received the error u201C AN ERROR HAS Occurred: NULL u201C when I leave the report open for more than 20 min. this happen when I clicking on the "NEXT " or u201CPREVIOUSu201D button(arrow) or refresh. Hope some one can help. 
    Thanks.
    Eddy

    Andy, here is how i fixed it:
    1.  Stop the Tomcat server in CCM
    2.  Go to c:\program files\business objects\tomcat\webapps\business objects\enterprise115\desktoplaunch\web-inf\web.xml file, then change these lines to look like this
    <listener>
    <listener-class>com.busnessobjects.sdk.ceutils.SessionCleanupListener</listener-class>
    </listener>
    <!--
    -->
    3. Search for timeout and change from 20 minites to your desire
    4. Save the file
    5. In CCM re-start Central Management Server, then Start the Tomcat server.
    good luck.
    Eddy.

Maybe you are looking for

  • OBIEE 11.1.1.7 installation Issues - Fails on Creating a Domain

    Hi, I have completed all the steps mentioned in different posts in this forum regarding my error, but none of them helps. After comprehensive searching i have tried to install OBIEE with these steps also. 1st time installation: 1. Followed simple ste

  • Do any of the ipad minis have a voice recognition

    Do any of the ipad mini's have voice recognition, dvd players and usb port to hook your own flash drive into?

  • 2LIS_02_ITM extraction problem...

    Hi, One ODS contains data from 2LIS_02_ITM in the INIT mode. ODS has last 5 year data. I want to load the data for last 2 years as a result of some enhancement. When I do I full repair request on this ODS with the selection on 0Doc_date for last 2 ye

  • Different first page

    I should have different first page for different users. How can i redirect after login and authentication (this is custom authentication method) ? My environment is HTMLDB 6, 10G and Windows.

  • Let down by BT

    Hi, I recently ordered BT Infinity and had to have a phone line installed. BT gave me a date for this and i booked the time off work. The BT engineer turned up and after half hour of tinkering he informed me he couldnt do the job but would send some