J2EE Application Security

Does anyone know how to implement and propogate security interoperability between the web and ejb tiers. I have a single web application that is split by multiple GWT entry points - each an application within a single war. A user can log into 1..n GWT entry points. Each entry point or GWT module contains differnt roles for a single user. The differing app roles have common permissions.
For example, user1 is a user of app1 and app2.
app1 the user is a system administrator in role1 containing all CRUD operations or permissions
app2 the user is a user who has only read privs in role2 containing R operations or permission
The application share the ejb tier via business delegates. So, if the user accesses a service method that is simple fast read method returning a list of records in app1 the user will see all records based on isUserInRole, and in app2 the user should see a limited set of records based on isUserInRole. How can I propogate the users permissions based on the application to the ejb tier?

Hi,
JAAS is principal based and has no notion of groups. You can use groups in J2EE security, but these need to be defined in teh deployment desccriptor and then mapped to physical security groups that may be in OID.
Frank

Similar Messages

  • Create J2EE Application in Release 6.20

    Hi All,
    I'm quiet new to SAP WAS.
    I read in the documentation that JAVA IDE (SAP NETWEAVER DEVELOPER STUDIO) is added start on Release 6.30 (Please, correct me if I'am wrong).
    If it so, how can I create J2EE application in Release 6.20. A brief explanation will be highly appreciated.
    Thanks,
    Edward (Indonesia).

    Hi Kalle,
    Thx, I have got the CD brom the Basis guy, and sucessfully installed it on my PC.
    But when I try to execute Stand Alone Server, this error occured:
    Loading core services:
      Starting core service monitor ... done.
      Starting core service p4 ... done.
      Starting core service log ... done.
      Starting core service dbms ... done.
      Starting core service security ... done.
    System Exception * Fail to start Naming. Exception is: java.security.AccessContr
    olException: access denied (com.inqmy.lib.security.DomainsEnumerationPermission
    ProtectionDomainEnumeration)
    java.security.AccessControlException: access denied (com.inqmy.lib.security.Doma
    insEnumerationPermission ProtectionDomainEnumeration)
            at java.security.AccessControlContext.checkPermission(AccessControlConte
    xt.java:269)
            at java.security.AccessController.checkPermission(AccessController.java:
    401)
            at com.inqmy.core.policy.PolicyManager.getProtectionDomainStack(PolicyMa
    nager.java:311)
            at com.inqmy.core.service.context.container.security.DefaultProtectionDo
    mainContext.getProtectionDomainStack(DefaultProtectionDomainContext.java:99)
            at com.inqmy.services.security.domains.ProtectionDomainManagerImpl.getPr
    otectionDomainStack(ProtectionDomainManagerImpl.java:96)
            at com.inqmy.services.jndi.InitialContextFactoryImpl.getInitialContext(I
    nitialContextFactoryImpl.java:72)
            at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
    62)
            at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
            at javax.naming.InitialContext.init(InitialContext.java:219)
            at javax.naming.InitialContext.<init>(InitialContext.java:175)
            at com.inqmy.services.jndi.JNDIFrame.bindReferences(JNDIFrame.java:278)
            at com.inqmy.services.jndi.JNDIFrame.start(JNDIFrame.java:176)
            at com.inqmy.core.service.application.ApplicationServiceRunner.startFram
    e(ApplicationServiceRunner.java:55)
            at com.inqmy.core.service.container.ServiceRunner.run(ServiceRunner.java
    :126)
            at com.inqmy.core.thread.impl2.SingleThread.run(SingleThread.java:118)
      Starting core service naming ... done.
    Please Help.
    Warm regard,
    Edward.

  • Portal User details and credentials for a J2EE application?

    Hi,
    I am trying to access a J2EE application which is deployed in  SAP Web Application Server. I want to maintain the security of this application depending the portal user. So I want to get the user id of the portal login to my J2EE application. For Example:
    A user with id "super" is logging into portal I want the userid "super" in my J2EE application how to get the userid to my J2EE application's servlet. Is this possible? If possible please tell how I can acheive it?
    Can I do it by creating HTTP System? If possible can u tell me where can I set the URL?
    Thanks,
    Ashok.

    hi,
    Certainly you can get the user id of the portal login in your J2EE application by using UME api's
    IUserFactory userFact = UMFactory.getUserFactory();
    getUserFactory().getUser(String uniqueID)
    getUserFactory().getUserByLogonID(String logonID)
    Also have a look at this
    http://help.sap.com/saphelp_nw04/helpdata/en/15/abdc3ed98f7650e10000000a114084/frameset.htm
    Instead  of url iview, it would be better to use AppIntegrator
    Also have a look at this
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/events/webinars/using the user management api with ep applications.pdf
    Hope it helps...
    Regards,
    Ganesh N
    Hope it helps...

  • How can i protect J2EE applications from piracy?

    I m looking for solution to protect Web application from piracy.
    I want my application run on web server for which it is built, &
    it musn't run on any other web server.
    how can i protect my web application from piracy?.
    Our .Net applications we protect using Hardware ID binding ,
    How can i protect J2EE applications?

    How is it going to get anywhere else? What's the threat model here? and what's the real, not imaginary, cost to you of the threat succeeding? and can you price your product such that it's cheaper to buy it than to pirate it?
    The answers to this question probably aren't in the field of tricky code or cryptography. They're more likely in marketing, time-to-market, pricing, and in physical security of the server, ...

  • How to use KM APIs, Can we use them in Standalone J2ee Application

    Hi Experts,
    I got KM APIs.
    I need to use them to access the KM Repository Content.
    I m a newbie in SAP KM.
    Can anyone help me to use KM APIs.
    For Eg:
    com.sapportals.portal.security.usermanagement.IUser user = …
    IResourceContext resourceContext = new ResourceContext(user);
    RID rid = RID.getRID("/etc");
    try {
      IResource resource = ResourceFactory.getInstance()
                           .getResource(rid, resourceContext);
      if( resource != null ) {
        // resource found
        System.out.println("resource " + resource.getRID() + " found");
      } else {
        // resource not found
        System.out.println("resource " + resource.getRID() + " does not exist");
    catch( ResourceException e ) {
      // problem while retrieving the resource
      System.out.println(
                        "exception while trying to get resource " + e.getRID()
                        + ": " + e.getMessage()
    How will i get the IUser populated?
    Can i use KM APIs from a standalone J2EE application?
    Can i Populate IUser in standalone J2EE application's Servlet?
    Please help me out.
    Waiting for reply
    -pankaj

    Hi Prem,
    Can u tell me how to deploy a war file on to the SAP J2EE server?
    I know how to deploy on Tomcat Server, but dont have any experience abt SAP J2EE server.
    Does SAP J2EE server also have some Webapp directory like TOMCAT where we have to put our WAR File?
    Or to Deploy a WAR File in SAP J2EE server is different, if yes then wats the procedure to do that?
    And can i access the KM APIs in SAP J2EE Server?

  • J2EE application not getting started.

    Hi there,
    I have depoyed my J2EE application successfully but it is not getting started, below is the log trace that is being shown.
    My java path seems fine but cudn't get to know why the initializing is failing.
    Favour would be definitely appreciated.
    One Observation is, WAR file seems like not got deployed properly even though at the time of deployment every acknowledgement message shown was fine.
    **My version is Oracle Weblogic 11g (10.3.0) on IBM AIX 64-bit 6.1 power series system.**
    **JDK used is 1.6.0**
    BEA-149231:
    *Unable to set the activation state to true for the application 'SAMPLEAPP1'. weblogic.application.ModuleException: [HTTP:101216]Servlet: "BranchController" failed to preload on startup in Web application: "FCJNeoWeb". java.lang.ExceptionInInitializerError at java.lang.J9VMInternals.initialize(J9VMInternals.java:222) at com.ofss.infra.controller.BranchController.init(BranchController.java:118) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:521) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1893) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1870) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1790) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79) at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184) at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361) at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196) at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233) at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173) at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89) at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: java.lang.NumberFormatException: null at java.lang.Throwable.<init>(Throwable.java:67) at java.lang.Integer.parseInt(Integer.java:428) at java.lang.Integer.parseInt(Integer.java:511) at com.ofss.fcc.common.BranchConstants.<clinit>(BranchConstants.java:88) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) ... 43 more at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1373) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79) at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184) at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361) at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196) at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233) at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173) at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89) at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) java.lang.NumberFormatException: null at java.lang.Throwable.<init>(Throwable.java:67) at java.lang.Integer.parseInt(Integer.java:428) at java.lang.Integer.parseInt(Integer.java:511) at com.ofss.fcc.common.BranchConstants.<clinit>(BranchConstants.java:88) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) at com.ofss.infra.controller.BranchController.init(BranchController.java:118) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:521) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1893) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1870) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1790) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2999) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1371) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:468) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:16) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:162) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:79) at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:184) at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:361) at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:51) at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:196) at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30) at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233) at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169) at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123) at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173) at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89) at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)*
    Cheers.. PCZ

    with the same problem but with weblogic, i tried this solution but i still get this error
    Exception:
    [HTTP:101216]Servlet: "BranchController" failed to preload on startup in Web application: "FCJNeoWeb". java.lang.ExceptionInInitializerError at com.ofss.infra.controller.BranchController.init(BranchController.java:122) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:531) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1915) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1889) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1807) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3046) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1397) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:463) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:201) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:249) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:427) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:28) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1269) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409) at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:54) 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:143) 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:164) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) Caused by: java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:417) at java.lang.Integer.parseInt(Integer.java:499) at com.ofss.fcc.common.BranchConstants.<clinit>(BranchConstants.java:92) at com.ofss.infra.controller.BranchController.init(BranchController.java:122) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:283) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:64) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:531) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1915) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1889) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1807) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3045) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1397) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:460) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200) at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:247) at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83) at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119) at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:27) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:1267) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:409) at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:54) 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:143) 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:181) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67) ... 3 more
    and my deployment state is failed

  • How to manually completely remove a J2EE application from the server?

    Hello,
    I have created and deployed a certain test J2EE application.
    After I finished with it I wanted to remove it, yet I cannot do it: Any removal attempt, either by the SDM or Admin Tool, encounters exceptions and errors I cannot handle. I tried restarting the server, stopping the application yet nothing works. on telnet the application has always STOPPING ststus...
    Desperately, I have decided to manually remove this application from the server yet I don't know the steps.
    Can someone please give me a step-by-step guidance on how to completely remove this application from the server, so it won't appear anyome both at the SDM and at the deploy service of the WAS?
    Thank you in advance,
    Roy

    Hi Peter,
    I've reproduced the problem and created a thread dump. I believe these lines are the important ones:
    "SAPEngine_Application_Thread[impl:3]_10" prio=5 tid=0x080cc9d8 nid=0x18e0 in Object.wait() [8a8f000..8a8fdb8]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x14450d88> (a java.lang.Object)
         at java.lang.Object.wait(Object.java:429)
         at com.sap.engine.services.ejb.EJBAdmin.destroyContainers(EJBAdmin.java:1145)
         - locked <0x14450d88> (a java.lang.Object)
         at com.sap.engine.services.ejb.EJBAdmin.commitStop(EJBAdmin.java:2529)
         at com.sap.engine.services.deploy.server.application.StopTransaction.commonCommitFinished(StopTransaction.java:262)
         at com.sap.engine.services.deploy.server.application.StopTransaction.commitCommon(StopTransaction.java:305)
         at com.sap.engine.services.deploy.server.application.StopTransaction.commit(StopTransaction.java:291)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:310)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:327)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:111)
         at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:230)
         at com.sap.engine.services.deploy.server.application.RemoveTransaction.begin(RemoveTransaction.java:133)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:292)
         at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhases(ApplicationTransaction.java:326)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.makeGlobalTransaction(DeployServiceImpl.java:3139)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.remove(DeployServiceImpl.java:903)
         at com.sap.engine.services.deploy.server.DeployServiceImpl.remove(DeployServiceImpl.java:5056)
         at com.sap.engine.services.deploy.server.DeployServiceImplp4_Skel.dispatch(DeployServiceImplp4_Skel.java:885)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:304)
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:193)
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:122)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Could you please advise how to proceed from here?
    Thank you in advance,
    Roy

  • Porting j2ee application from Weblogic to Oracle 10g AS

    What are the common guidelines/consideration when we port a J2EE application on Oracle Application server 10g. from WebLogic 8.1. If you have some inputs on pin points/guidelines/Architecture decisions that we might need to consider when we port a J2EE application on different J2EE application server
    I got the link for app server migration but it is broken :
    http://www.oracle.com/consulting/technology/appserver_migration_ds.pdf
    Our application uses the following J2EE components
    1. JDBC 2.0
    2. JNDI
    3. DAO
    4. EJB
    5. JMS
    6. JAAS
    7. JAVA Mails.
    8. Servlets, JSP’s
    I can think following point that needs to take care while porting
    1. Its deployment configuration vis-a-vis the apps on top
    2. The APIs it exposes (actually the information it allows the apps to pass in to the framework
    3. The data it encapsulates (in order to be app-server agnostic; does it need to be now exposed to apps?)
    Some J2EE specific areas
    1. JNDI usage and exposure to apps 2. Properties files/XML files
    2. Location specification 3. Resource bundle location specification
    4. EJB deployment descriptors
    5. Class/jar references between wars and ears
    6. Jar sharing model across ears
    7. Class loader differences across app-servers
    8. JMS settings (queues, topics, factories, durability etc)
    9. UI tags 10. Startup services
    11. Managed services (JMX)
    12. Security context passing
    13. Clustered configurations if any and how they port across app-servers
    Thanks
    Santosh Maskar

    This document is very old.
    Take a look at the recent migration guide in the Oracle AS 10.1.3.1 documentation
    http://download-uk.oracle.com/docs/cd/B31017_01/migrate.1013/b31269/toc.htm

  • Trouble deploying a J2EE application using the J2EE 6.20 Deploy Tool

    I am having trouble deploying a J2EE application using the J2EE 6.20 Deploy Tool.
    I successfully create the WAR/EAR files, I then select deploy and the deploy process gets to 100% before displaying an error message.
    Can anybody help?
    Please see Deploy Tool log entry:
    01:39 -  **********************************************************
    05/01/17 10:19:16 -  Applying user role management mappings.
    05/01/17 10:19:16 -  Start updating EAR-file...D:\SAP_J2EEngine6.20_Cluster\deploying\carmodeller\carmodeller.ear
    05/01/17 10:19:27 -  Temp files deleted...
    05/01/17 10:19:27 -  Ear-file updated successfully for 11375ms.
    05/01/17 10:19:27 -  Start deploying ...
    05/01/17 10:20:15 -  Ear-file uploaded to server for 47297ms.
    05/01/17 10:21:47 -  ERROR: ID90506: NOT Deployed. ERROR returned from deploy service :
                         com.inqmy.services.deploy.container.DeploymentException: Can't init application carmodeller. com.inqmy.services.servlets_jsp.server.WebApplicationException: ID17110: Error in starting application carmodeller.java.lang.NullPointerException
                              at com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.deploy(ServletsAndJspImpl.java:482)
                              at com.inqmy.services.servlets_jsp.server.WebContainer.commitDeploy(WebContainer.java:256)
                              at com.inqmy.services.deploy.server.DeployServiceImpl.commit(DeployServiceImpl.java:2848)
                              at com.inqmy.services.deploy.server.DeployServiceImpl.deploy1(DeployServiceImpl.java:512)
                              at com.inqmy.services.deploy.server.DeployServiceImpl.deploy(DeployServiceImpl.java:140)
                              at com.inqmy.services.deploy.server.DeployServiceImplp4_Skel.dispatch(DeployServiceImplp4_Skel.java:184)
                              at com.inqmy.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:157)
                              at com.inqmy.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:108)
                              at com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
                              at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
                              at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
                              at java.security.AccessController.doPrivileged(Native Method)
                              at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:153)
    05/01/17 10:21:47 -  **********************************************************

    Hi, it looks like the app has trouble starting up:
    05/01/17 10:21:47 - ERROR: ID90506: NOT Deployed. ERROR returned from deploy service :
    com.inqmy.services.deploy.container.DeploymentException: Can't init application carmodeller. com.inqmy.services.servlets_jsp.server.WebApplicationException: ID17110: Error in starting application carmodeller.java.lang.NullPointerException
    Did you have any errors on the compile of the code?
    You also want to check if the app is deployed (if so you may want to remove it before re-deploying it)

  • Web Application Security - User authentication and registration

    I am trying to develop a very simple web app with following feature
    1. Users should be able to register (sign-up) with the application, i.e backed code will create new user account when new users sign up.
    2. Once the user account is created, they should be able to log in.
    I was reading Java Security section in Java EE tutorial. To use any of Java EE security, the recommended way is to have security-constraint in web.xml specifying roles that have access to application. The roles are then mapped to the users that are created in the application server. The problem here is that the users cannot be created at deployment time. Users are created at run-time as new people sign up using the registration form. So, how can user be created with the application server before deploying the application?
    It seems very odd to be that application users are defined at the app-server level. Eg, Ebay/Amazon has millions of users. Are all those users defined at the application server where their app is deployed?
    If JavaEE security cannot support this simple usecase, what is the point of having security-constraint and all the other security features?

    As per your comment you want to use J2EE/JAAS security for existing user and want sign in feature. You can do it by providing link on log in screen. Please create sign up page and unprotected resource in web.xml. Once user fill sign in details you can store his detail in your authorization repository ( LDAP / Database ) and then either redirect request to login page or submit to your authorization scheme directly.

  • j2ee-application .... what is this tag for???

    Hi,
    can anyone tell my why I should ever use this magic <j2ee-application....> Tag within the <security> Tag of a JNLP-File??? I never needed it and in my opinion nobody will ever need it....
    So what is this tag for??? What can I achieve with it?
    Thank you,
    Sven Haiges

    according to the book http://developer.java.sun.com/developer/Books/jnlp/
    j2ee-appplication-client-permissions does the following:
    When used with a trusted appliction (signed and explicitly accepted by the user), this subelement grants the below permissions:
    java.awt.AWTPermision (access to system clipboard)
    java.awt.AWTPermission (access to event queue)
    java.awt.AWTPermission (show window without warning banner)
    java.lang.RuntimePermission (allow exit of JVM)
    java.lang.RuntimePerimission (allow load library)
    java.lang.RuntimePermission (allow queue of print job)
    java.net.Socket.Permission (allow socket connectins)
    java.io.FilePermission (allow read/write files)
    java.io.Property permission (allow read properties)

  • Login module for the J2EE application

    Hi ,
    I am trying to use the BasicPasswordLoginModule for my J2EE application which will be deployed in the SAP J2EE engine.My application will not be accessed through the portal.
    I am having a login screen in my application for which i want to use the already avaliable login module. ie.. BasicPasswordLoginModule.
    When i am trying to get the login(). i am getting the following the error.
    "javax.security.auth.login.LoginException: No LoginModules configured for BasicPasswordLoginModule".
    Please let me know what needs to be done.
    PS: The version environment is CE 7.1
    Regards
    Abu Bakar

    Hi Julius
    I am totally confused, my application is a pure J2EE application which has only one screen which just displays the details. And i want only the login screen to be implemented. I have gone through a couple of dec from sap which tells to created a custom login module if requiredl but i want to user the FORM based authentication and use the BasicPasswordLoginModule(in-built in WAS)
    All that i am doing is written a web.xml with the following information:
    <login-config>
       <auth-method>FORM</auth-method>
       <form-login-config>
       <form-login-page>/home.jsp</form-login-page>
       <form-error-page>/relogin.jsp</form-error-page>
       </form-login-config>
      </login-config>
      <security-role>
        <role-name>App_Viewer</role-name>
      </security-role>
    web-j2ee-engine with following information:
    <security-role-map>
              <role-name>App_Viewer</role-name>
               <server-role-name>Administrator</server-role-name>
         </security-role-map>
         <login-module-configuration>
         <login-module-stack>
         <!-- Contains all login modules used for authentication -->
              <login-module>
              <!-- Contains information about one login module -->
                   <login-module-name>BasicPasswordLoginModule</login-module-name>
                   <flag>SUFFICIENT</flag>
                   <options>
                        <option>
                        <!-- The option UserNamePrefix determines that the user name must start with "Admin" -->
                        <name>UserNamePrefix</name>
                        <value>Admin</value>
                        </option>
                   </options>
              </login-module>
         </login-module-stack>
         <security-policy-domain></security-policy-domain>
    </login-module-configuration>
    And I am not sure, if the above mentioned details are enough. My implementation code is as follows:
    try {
              HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
              HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
              request.setAttribute(ILoginConstants.LOGON_UID_ALIAS, this.getUserName());
              request.setAttribute(ILoginConstants.LOGON_PWD_ALIAS, this.getPassword());
              UMFactory.getLogonAuthenticator().logon(request, response, "BasicPasswordLoginModule");
              status = success;
         } catch (Exception e) {
              e.printStackTrace();
              status = e.toString();
    In the NWA i have just configured the UserNamePrefix with Admin, thats all . Since the form login authentication method is already configure with the BasicPasswordLoginModule, I left it untouched.
    I also implemented a custom login module and deployed it but not sure how to use it in my code.
    Please let me know if i am in the rite track. Correct me if i am wrong. At the end of the day i want to use the login screen just to get authenticated. I am also not bothered about the password changing etc.. As the users who are going to use my application are the users in the Identity Management. Few portions of my screen should be allowed to be displayed based on the roles.
    PS: My application is not configured in the portal. Its an independent application deployed on the WAS(CE 7.1).
    Please advice
    Regards
    Abu Bakar

  • Obtaining SAP User information from J2EE Application

    Hi All,
    I am using SAP NetWeaver Developer Studio to create a J2EE Application, which requires accessing user information from SAP coming from Windows Active Directory.
    My question is as follows;
    Is there a possibility in a J2EE application to use an API to obtain user information (ie. from com.sap.security.api.jar) just like in a regular WebDyn Pro Application?
    For Archive Build Info (compile time), do I need to import specific JARs? For runtime, do I need to load any project reference?
    Thanks in advance,
    Michael

    Yes, I have added 'Run time' as well as 'Build time' for the com.sap.security.api.sda DC as well as for com.sap.tc.Logging DC.
    I have also added the following references to application-j2ee-engine.xml file:
    <application-j2ee-engine>
         <reference
              reference-type="hard">
              <reference-target
                   provider-name="sap.com"
                   target-type="library">com.sap.security.api.sda</reference-target>
         </reference>
         <reference
              reference-type="hard">
              <reference-target
                   provider-name="sap.com"
                   target-type="library">com.sap.tc.Logging</reference-target>
         </reference>
         <provider-name>srl.com</provider-name>
         <fail-over-enable
              mode="disable"/>
    </application-j2ee-engine>
    I am still experiencing the same problem:
    java.lang.NoClassDefFoundError: com/sap/tc/logging/Location
         at com.sap.security.api.UMFactory.<clinit>(UMFactory.java:178)
         at srl.com.birthday.daemon.BirthdaysDaemon.loadEmployeesUser(BirthdaysDaemon.java:114)
         at srl.com.birthday.daemon.BirthdaysDaemon.run(BirthdaysDaemon.java:72)
         at java.lang.Thread.run(Thread.java:534)
    Is there any other JAR I forgot to add to my used DC? Is the security JAR dependant on something else?
    Thanks,
    Michael

  • Runtime#exec() from within a J2EE application

    I've got a batch processing task running on a timer as part of my J2EE application on WebLogic 8.1 and I'm experiencing problems with invoking Runtime#exec().
    To be more accurate, this is what I'm trying to do:
    * Moves a file in the filesystem using native shell commands.
    * @param src The file to move.
    * @param dst The destination file.
    public void move(String src, String dst) {
        Runtime runtime = Runtime.getRuntime();
        Process p = runtime.exec(new String[] { "mv", "-f", src, dst });
    }Now, this piece of code works perfectly when run manually ("java Move foo.txt bar.txt") but when it's run within the J2EE application -- as the same user as in the manual case -- the file's won't get moved anywhere.
    I suppose it's a permission/policy issue. If that's the case, how should I edit the policy file?
    I already tried to add the following lines to weblogic.policy:
    grant codeBase "file:${user.domain}/myServer/.internal/-" {
      permission java.security.AllPermission;
    grant codeBase "file:${user.domain}/myServer/.wlnotdelete/-" {
      permission java.security.AllPermission;
    };...but that didn't seem to help at all.

    Ok. I managed to solve this one by myself. The solution was to read the "stdout" and "stderr" streams from the process.
    Any idea why reading the streams helped?

  • Error while running a J2EE application on Oracle10gAS

    Hi,
    I am receiving an error when trying to run a J2EE application on Oracle10gAS. The application runs successfully on Oracle9iAS, but throws the following exception on 10g application server:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <SOAP-ENV:Body>
    - <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Server.Exception:</faultcode>
    <faultstring>com.evermind.server.rmi.OrionRemoteException: Error in createInstance(): null; nested exception is: java.lang.NoClassDefFoundError</faultstring>
    <faultactor>/STAR-TicketBroker-context-root/TicketBrokerWS</faultactor>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Does anyone have any idea why I would be receiving this
    error? We are using Session EJBs in our J2EE application. Are there any changes needed in the code in order to migrate a J2EE application from 9i to 10g ???
    Please help.
    Thanks,
    -Prashant

    Hi Somil,
    I've just had this same error message, and it was because I had a bogus character in my JSP sources.  I'd cut-and-pasted the text from a Word document, and it included the "registered trademark" sign (an R in a circle) as a single character.  This worked in my test environment, but not in my production environment (where presumably the default encoding is different).  I replaced the character with the equivalent HTML entity &amp;reg; (ie. the five characters & r e g ; ) and it all worked.
    Have a look through the offending JSPs and see whether you have any characters that might be incompatible with your default encoding (anything that isn't plain old 7-bit ASCII is potentially a problem).  Change them to HTML entities and you should be fine.
    Hope this helps,
    Richie

Maybe you are looking for

  • How to set Timezone in a date object

    Hi, I need to write a method setTimeZone(Date d,TimeZone t) which should take a Java.util.Date and a Timezone object and set the time zone to the date object. for example... Date d=new Date(); TimeZone tz=TimeZone.getTimeZone("PST"); //should print t

  • BPEL and handling of BIG files using 10.1.2

    Scenario - using JDev 10.1.2 (Absolute) - what is the largest file size that can reliably be used with a BPEL process - need to get with a FTP adapter? Also is 10.1.2 BPEL certified for SQL Server. Regards - Casey

  • Editing .class files

    Hi I am kind of new to Java etc I would like to know if it is possible to edit a .class file if you don't have the .java file? If this is possible do I require any software etc? Thanks in advance for your help James

  • Cursor move only in x-axis

    hi, i' looking for a solution, because i have no idea - i want to move the cursor in an animation only left & right (in x-axis) on a fix y-axis level. thx for input regards w

  • Zen Sleek Playlists query

    I am tempted to buy a sleek - but does anyone have one, or seen the playlist options. In particular can the tracks and order of tracks be moved around in a playlist. This was available on the Zen Xtra's, but I understand was taken off with the Zen To