BigIP F5 : changing IP leads to cache invalidated and redownload of applet jars

Hello all,
In short, I'm trying to figure out how to have the java 7 plugin not considering the server IP to decide whether to use cached version of our applet's signed jars.
As suggested in the title, we use BigIP's F5 boxes to dispatch requests among actual servers, which are located in 2 different sites (disaster recovery purposes).
Each site has an F5 box ; and our DNS resolve the application's host name by alternating between 2 different IPs : one for site 1, the other for site 2.
Each time a user visits http://theapp.mycompany.com, the host is resolved as 9.9.9.1 or 9.9.9.2, more or less randomly.
This works very nicely as long as the applet is not concerned, or bandwith and latency is good enough to absorb 1.5Mb in a snap.
For remote subsidiaries (10.000km away from servers), downloading 1.5Mb takes 35s -- too much for the normal user to wait.
And the problem is : the plugin insists on looking up the server IP each time it starts up, and ignores cache entries that have been downloaded from a different IP.
Here is the use case :
- user connects to http://theapp.mycompany.com ; the browser get an IP, doesn't matter which ; user logs on, navigates in the app's html pages -- no problem
- user gets to the applet :
- the html page says
<applet id="myApplet">
    <param name="archive" value="a.jar,b.jar,c.jar,d.jar,e.jar"/>
    <param name="codebase_lookup" value="false"/>
    <param name="archive_1" value="a.jar, preload, version=7.5.7" />
    <param name="archive_2" value="b.jar, preload, version=7.5.7" />
    <param name="archive_3" value="c.jar, preload, version=7.5.7" />
    <param name="archive_4" value="d.jar, preload, version=7.5.7" />
    <param name="archive_5" value="e.jar, preload, version=7.5.7" />
    <param name="baseUrl" value="/"/>
    <param name="code" value="a/package/for/Applet.class"/>     
    <param name="mayscript" value="mayscript"/>
    <param name="codebase" value="/applet/"/>
    <param name="name" value="MyApplet" />"
    <param name="locale" value="fr"/>
</applet>
     The archive_n parameters are here in an attempt to tell the plugin to not even ask for jars if its cache contains entries with same host/same name/same version.
     The version is assigned at build time at an application level ; it has nothing to do with the Implementation-Version attribute found in MANIFEST.MF files.
- Java and the plugin sarts up : let's assume this is the first time : cache is empty : all jars are downloaded ; as they are signed and the CA certificate chain was set in the browser config, and the java.policy is also configured to allow smooth exec, the applet runs smoothly -- after a long startup delay
- user leaves the applet, do some stuff in other applet-less pages for some minutes (the java/plugin processes are shut down after a minute or so)
- user reenters the page that contains the applet
- Java and the plugin start up again :
     - the cache has entries for each jar : host, name, version are all ok.
     - But : the jars are not seen as "prevalidated" ; heres' the applet log ( in French, translation provided after "//") :
network: Vérification de version pour a.jar. La version spécifiée est 7.5.7     //Checking version for a.jar. Specified version is 7.5.7
security: La vérification de révocation de la liste noire est activée     // Check of blacklist revocation is activated
security: blacklist: created: NEED_LOAD, lastModified: 1378474147992
security: blacklist: hasBeenModifiedSince 1380806409906 (we have 1378474147992)
security: La vérification de liste de bibliothèques sécurisées est activée     // Check of trusted libraries is activated
..... same for the other jars ....
network: Created version ID: 7.5.7
network: Created version ID: 7.5.7
network: Entrée de cache trouvée [URL : http://theapp.mycompany.com/applet/a.jar, version : 7.5.7] prevalidated=false/0  //Cache entry found
cache: Adding MemoryCache entry: http://sandbox-mosaic.jcdecaux.com/applet/plannerApplet_7.5.7.jar
network: Created version ID: 7.5.7
     - The plugin then tries to lookup the host IP to check whether it matches that seen when creating the entry
     - 2 possibilities here :
               - the IP returned is the same : the plugin is happy, uses the cached jar, no question/download to/from the server, and the applet starts up quick and runs ok
               - the IP returned is not the same ; the plugin says :
network: Vérification de version pour a.jar. La version spécifiée est 7.5.7     //Checking version for a.jar. Specified version is 7.5.
security: blacklist: created: NEED_LOAD, lastModified: 1378474147992
security: blacklist: hasBeenModifiedSince 1380806409906 (we have 1378474147992)
security: La vérification de liste de bibliothèques sécurisées est activée     // Check of trusted libraries is activated
cache: CacheEntry IP mismatch: 9.9.9.1 != 9.9.9.2
          and then it downloads again the jar.
          Of course, all the jars are treated the same way.
          Note that the applet eventually runs normally ; the only problem is that the cache essentially doesn't work, causing terribly annoying 35s delays at applet startup.
Interestingly enough, examining the jdk 6 code shows that the "prevalidated=false" fragment (in bold/pink above) means that the method CacheEntry.isKnownToBeSigned() returns false.
I tried with a self-signed certificate which I added first in IE as "Trusted publisher" ; I also tried with a certificate signed by a CA that is known by IE -- no help.
So I really wonder : what does it take to have the plugin consider that each jar "isKnownToBeSigned" ?
Any thoughts ?
Note : we of course are considering packing jars, cleaning dead code, etc. to decrease applet size. But it doesn't help with the fact that the plugin considers the IP, which it shouldn't do in our case. And even with pack200 we're left with +350Kb of unnecessary downloads, not counting with future code to be developped ...
Thanks for any feedback
David
Browser is IE7.
Complete dump of system properties :
__applet_launched = 280874909499
__jvm_launched = 280874910680
acl.read = +
acl.read.default =
acl.write = +
acl.write.default =
awt.toolkit = sun.awt.windows.WToolkit
browser = sun.plugin
browser.vendor = Oracle
browser.version = 1.1
file.encoding = Cp1252
file.encoding.pkg = sun.io
file.separator = \
file.separator.applet = true
http.agent = Mozilla/4.0 (Windows Vista 6.0)
http.auth.serializeRequests = true
https.protocols = TLSv1,SSLv3
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.awt.printerjob = sun.awt.windows.WPrinterJob
java.class.path = C:\tools\Java\jre7\classes
java.class.version = 51.0
java.class.version.applet = true
java.endorsed.dirs = C:\tools\Java\jre7\lib\endorsed
java.ext.dirs = C:\tools\Java\jre7\lib\ext;C:\Windows\Sun\Java\lib\ext
java.home = C:\tools\Java\jre7
java.io.tmpdir = C:\Users\taille\AppData\Local\Temp\
java.library.path = C:\tools\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Internet Explorer;;C:\oracle\ORA102\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\JavaSoft\JRE\1.3.1_06\bin;C:\ORACLE\Ora92\jre\1.3.1\bin;C:\ORACLE\Ora92\jre\1.1.8\bin;C:\tools\Groovy-1.7.5\bin;C:\tools\Graphviz2.28\bin;C:\tools\Git\cmd;C:\tools\tortoiseSVN\bin;C:\Program Files\Windows Imaging\;C:\oracle\ORA102\bin;C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\JavaSoft\JRE\1.3.1_06\bin;C:\ORACLE\Ora92\jre\1.3.1\bin;C:\ORACLE\Ora92\jre\1.1.8\bin;C:\tools\Groovy-1.7.5\bin;C:\tools\Graphviz2.28\bin;C:\tools\Git\cmd;C:\tools\tortoiseSVN\bin;C:\Program Files\Windows Imaging\;.
java.protocol.handler.pkgs = sun.plugin.net.protocol|com.sun.deploy.net.protocol
java.rmi.server.RMIClassLoaderSpi = sun.plugin2.applet.JNLP2RMIClassLoaderSpi
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 1.7.0_21-b11
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 1.7
java.vendor = Oracle Corporation
java.vendor.applet = true
java.vendor.url = http://java.oracle.com/
java.vendor.url.applet = true
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
java.version = 1.7.0_21
java.version.applet = true
java.vm.info = mixed mode, sharing
java.vm.name = Java HotSpot(TM) Client VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 1.7
java.vm.vendor = Oracle Corporation
java.vm.version = 23.21-b01
javaplugin.nodotversion = 10212
javaplugin.version = 10.21.2.11
javaplugin.vm.options = -Ddeployment.trace.level=all -Duser.language=en
javawebstart.version = javaws-10.21.2.11
line.separator = \r\n
line.separator.applet = true
mrj.version.applet = true
os.arch = x86
os.arch.applet = true
os.name = Windows Vista
os.name.applet = true
os.version = 6.0
os.version.applet = true
package.restrict.access.com.sun.deploy = true
package.restrict.access.netscape = false
package.restrict.access.org.mozilla.jss = true
package.restrict.access.sun = true
package.restrict.definition.com.sun.deploy = true
package.restrict.definition.java = true
package.restrict.definition.netscape = true
package.restrict.definition.org.mozilla.jss = true
package.restrict.definition.sun = true
path.separator = ;
path.separator.applet = true
sun.arch.data.model = 32
sun.awt.enableExtraMouseButtons = true
sun.awt.warmup = true
sun.boot.class.path = C:\tools\Java\jre7\lib\resources.jar;C:\tools\Java\jre7\lib\rt.jar;C:\tools\Java\jre7\lib\sunrsasign.jar;C:\tools\Java\jre7\lib\jsse.jar;C:\tools\Java\jre7\lib\jce.jar;C:\tools\Java\jre7\lib\charsets.jar;C:\tools\Java\jre7\lib\jfr.jar;C:\tools\Java\jre7\classes;C:\tools\Java\jre7\lib\deploy.jar;C:\tools\Java\jre7\lib\javaws.jar;C:\tools\Java\jre7\lib\plugin.jar
sun.boot.library.path = C:\tools\Java\jre7\bin
sun.cpu.endian = little
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
sun.desktop = windows
sun.io.unicode.encoding = UnicodeLittle
sun.java.command = sun.plugin2.main.client.PluginMain write_pipe_name=jpi2_pid7004_pipe37,read_pipe_name=jpi2_pid7004_pipe36
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = Cp1252
sun.management.compiler = HotSpot Client Compiler
sun.net.client.defaultConnectTimeout = 120000
sun.net.http.errorstream.enableBuffering = true
sun.os.patch.level = Service Pack 2
trustProxy = true
user.country = FR
user.dir = C:\dtaille\TMA\perfs_br\newcert
user.home = C:\Users\taille
user.language = fr
user.name = taille
user.script =
user.timezone = Europe/Paris
user.variant =
Vider les propriétés de déploiement...
active.deployment.proxy.bypass.local = false
active.deployment.proxy.same = false
active.deployment.proxy.type = 3
deployment.baseline.url = https://javadl-esd-secure.oracle.com/update/baseline.version
deployment.blacklist.url = https://javadl-esd-secure.oracle.com/update/blacklist
deployment.blacklisted.certs.url = https://javadl-esd-secure.oracle.com/update/blacklisted.certs
deployment.browser.path = C:\Program Files\Mozilla Firefox\firefox.exe
deployment.browser.vm.iexplorer = true
deployment.browser.vm.mozilla = true
deployment.cache.enabled = true
deployment.cache.jarcompression = 0
deployment.cache.max.size = 726
deployment.capture.mime.types = false
deployment.console.startup.mode = SHOW
deployment.control.panel.log = false
deployment.expiration.decision.10.21.2 = later
deployment.expiration.decision.suppression.10.21.2 = true
deployment.expiration.decision.timestamp.10.21.2 = 9/6/2013 15:29:3
deployment.insecure.jres = PROMPT
deployment.javafx.mode.enabled = true
deployment.javapi.cache.update = false
deployment.javapi.lifecycle.exception = false
deployment.javapi.log.filename =
deployment.javapi.runtime.type = 0
deployment.javapi.stop.timeout = 200
deployment.javapi.trace.filename =
deployment.javaws.appicon.index = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\appIcon\appIcon.xml
deployment.javaws.associations = ASK_USER
deployment.javaws.cache.update = false
deployment.javaws.concurrentDownloads = 4
deployment.javaws.install = IF_HINT
deployment.javaws.installURL = http://java.sun.com/products/autodl/j2se
deployment.javaws.logFileName =
deployment.javaws.muffin.max = 256
deployment.javaws.shortcut = ASK_IF_HINTED
deployment.javaws.splash.index = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\splash\splash.xml
deployment.javaws.traceFileName =
deployment.javaws.uninstall.shortcut = false
deployment.javaws.update.timeout = 1500
deployment.javaws.viewer.bounds = 1723,197,881,546
deployment.jpi.mode.new = true
deployment.log = false
deployment.macosx.check.update = true
deployment.max.output.file.size = 10
deployment.max.output.files = 5
deployment.mime.types.use.default = true
deployment.modified.timestamp = 1380804178316
deployment.proxy.bypass.local = false
deployment.proxy.override.hosts =
deployment.proxy.same = false
deployment.proxy.type = 3
deployment.security.SSLv2Hello = false
deployment.security.SSLv3 = true
deployment.security.TLSv1 = true
deployment.security.TLSv1.1 = false
deployment.security.TLSv1.2 = false
deployment.security.askgrantdialog.notinca = true
deployment.security.askgrantdialog.show = true
deployment.security.authenticator = true
deployment.security.blacklist.check = true
deployment.security.browser.keystore.use = true
deployment.security.clientauth.keystore.auto = true
deployment.security.disable = false
deployment.security.https.warning.show = false
deployment.security.jsse.hostmismatch.warning = true
deployment.security.level = HIGH
deployment.security.local.applets = PROMPT
deployment.security.mixcode = DISABLE
deployment.security.notinca.warning = true
deployment.security.password.cache = true
deployment.security.run.untrusted = PROMPT
deployment.security.sandbox.awtwarningwindow = true
deployment.security.sandbox.casigned = PROMPT
deployment.security.sandbox.jnlp.enhanced = true
deployment.security.sandbox.selfsigned = PROMPT
deployment.security.trusted.policy =
deployment.security.validation.crl = false
deployment.security.validation.ocsp = false
deployment.security.validation.ocsp.publisher = false
deployment.system.cachedir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\SystemCache
deployment.system.security.blacklist = C:\tools\Java\jre7\lib\security\blacklist
deployment.system.security.cacerts = C:\tools\Java\jre7\lib\security\cacerts
deployment.system.security.jssecacerts = C:\tools\Java\jre7\lib\security\jssecacerts
deployment.system.security.oldcacerts = C:\tools\Java\jre7\lib\security\cacerts
deployment.system.security.oldjssecacerts = C:\tools\Java\jre7\lib\security\jssecacerts
deployment.system.security.trusted.certs = C:\tools\Java\jre7\lib\security\trusted.certs
deployment.system.security.trusted.clientauthcerts = C:\tools\Java\jre7\lib\security\trusted.clientcerts
deployment.system.security.trusted.jssecerts = C:\tools\Java\jre7\lib\security\trusted.jssecerts
deployment.system.security.trusted.libraries = C:\tools\Java\jre7\lib\security\trusted.libraries
deployment.system.tray.icon = true
deployment.trace = true
deployment.update.mime.types = true
deployment.user.cachedir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\cache
deployment.user.extdir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\ext
deployment.user.logdir = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\log
deployment.user.security.blacklist = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklist
deployment.user.security.blacklist.dynamic = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklist.dynamic
deployment.user.security.blacklisted.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\blacklisted.certs
deployment.user.security.policy = file:/C:/Users/taille/AppData/LocalLow/Sun/Java/Deployment/security/java.policy
deployment.user.security.sandbox.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\sandbox.certs
deployment.user.security.saved.credentials = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\auth.dat
deployment.user.security.trusted.cacerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.cacerts
deployment.user.security.trusted.certs = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs
deployment.user.security.trusted.clientauthcerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.clientcerts
deployment.user.security.trusted.jssecacerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecacerts
deployment.user.security.trusted.jssecerts = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.jssecerts
deployment.user.security.trusted.libraries = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\security\trusted.libraries
deployment.user.tmp = C:\Users\taille\AppData\LocalLow\Sun\Java\Deployment\tmp
deployment.version = 7.21
deployment.webjava.enabled = true
java.quick.starter = false

This behavior was introduced by a security "fix" intended to prevent a DNS re-binding attack which permits unsigned applets to escape the applet sandbox.  The "fix" was, imo, very poorly thought out.  You think you have a problem with 1.5 megabits of applet jars, but I have 8 megabytes, hundreds of thousands of users, with lousy networks. So now I'm stuck with a colocation vendor.  Imagine my chagrin when they changed *their* ISP and thus their IP addresses.  
As far as I can see, signed applets are already permitted (if the user allows) to communicate outside the sandbox, so this "fix" should not have been applied to signed jars, only to unsigned ones.  There are a couple of other techniques that Oracle might have used to prevent this attack, but they chose the simplest one, effectively preventing anyone from using the most common, inexpensive strategies for improving the availability of their web-based Java applications.

Similar Messages

  • How to trigger DSP cache invalidation and reload?

    We have a scheduled job to update the database nightly. I used DSP caching to increase performance since the data only changes during the nightly updates.
    Does anyone know how can I trigger the DSP cache invalidation and reload the updated data to DSP cache once the data loading is completed on the database server? (The database is hosted on a different server than DSP.)
    Thanks in advance!
    Nav

    On this page
    http://e-docs.bea.com/aldsp/docs25/appdev/ejbclt.html
    Bypassing the Data Cache When Using the Mediator API
    Data retrieved by data service functions can be cached for quick access. This is known as a data caching. (See Configuring the Query Results Cache, in the DSP Administration Guide for details.) Assuming the data changes infrequently, it's likely that you'll want to use the cache capability.
    You can bypass the data cache by passing the GET_CURRENT_DATA attribute within a function call, as shown in Listing 3-7. GET_CURRENT_DATA returns a Boolean value. As a by-product, the cache is also refreshed.
    Listing 3-7 Cache Bypass Example When Using Mediator API
    dataServices.customermanagement.CustomerProfile customerProfileDS =
    customerDS=dataServices.customermanagement.CustomerProfile.getInstance(ctx,appName);RequestConfig
    config = new
    RequestConfig();attr.enableFeature(RequestConfig.GET_CURRENT_DATA);CustomerProfileDocument
    customerProfileDoc customerPlofileDS.CustomerProfile(params,config);

  • Deployment: Metadata Cache Invalidation for Adaptive RFC Models

    Dear SDN Member,
    I have deployed the new "Cache Invalidation" Tool at our portal NW04s SPS12.
    We have deployed the tool by using the sdm.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
    The entrypoint is not visible in the webdynpro console navigation.
    What have I done wrong?
    Best regards,
    Olaf Reiss

    Hello,
    we also deployed it to our NW04s SPS12 Portal (since it was NOT included in SPS12)
    We deplyoed the correct version. For us it is also not visible in the NWA.
    However, it can be called from the Webdynpro console. Then you see it has this direct link.
    http://<server>:<port>/webdynpro/dispatcher/local/InvalidationTool/Invalidation
    However, the thing still has bugs.
    Clicking the button "Get JCO destinations" just crashes with a 500 error (see below). Our developer said
    <i>The initial exception that caused the request to fail, was:
       java.lang.NoSuchFieldError: flush_cache
        at com.sap.invalidation.InvalidationView.onActionGetSLDJCOs(InvalidationView.java:215)
        at com.sap.invalidation.wdp.InternalInvalidationView.wdInvokeEventHandler(InternalInvalidationView.java:236)
        at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
        at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
        at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
        ... 26 more</i>
    Using the lower part and option 2.
    ("Dictionaries Cache Invalidation" and "Enter Dictionary") is said to be working, if you exactly know the naming.
    But how can we invalidate the RFC caches used by  Visual Composer?
    In Visual Admin/services/Connector Container/../SapFactory/Managed conenction factory/ConnectionDefintion I have already set the Connectionlifetime to 60 and ticked "expiraation" ?
    Best regards
    Ulf

  • Database Change Notification and TopLink Cache Invalidation

    Has someone succeeed in implementing the How-to Database Change Notification and TopLink Cache Invalidation.
    I have corrected some document errata about the pl/sql content and I manage to have messages in the 'notify_queue'.
    I obtain the Topic in Java from this queue.
    But the TopicSuscriber instances do not receive any message. Is there something to have in mind to make it work ?
    Regards.

    Reviving this thread again...
    I am using DCN feature to build a middle-tier cache. I know oracle has problem sending physical rowid in case of 'Index Organized Table', however, in normal table also its not able to send proper rowid.
    e.g, I have 2 records in Table A with rowid AAARIUAAGAAAV/uABw and AAARIUAAGAAAV/pAAX.
    I have updated both the records. Strangely for the first record, oracle is sending INVALID rowid, although for the second record its sending the valid one.
    Following is the output:
    Row 1:  (Wrong rowid being sent, AAARIUAAGAAAV/uABw is replaced with AAARIUAAGAAAXDCAAr)
    Connection information  : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
    Registration ID         : 2102
    Notification version    : 1
    Event type              : OBJCHANGE
    Database name           : <sid>
    Table Change Description (length=1)
        operation=[UPDATE], tableName=<table_name>, objectNumber=70164
        Row Change Description (length=1):
          ROW:  operation=UPDATE, ROWID=AAARIUAAGAAAXDCAAr
    Row 2:  (Right rowid being sent, AAARIUAAGAAAV/pAAX)
    Connection information  : local=localhost.localdomain/127.0.0.1:47633, remote=localhost.localdomain/127.0.0.1:2278
    Registration ID         : 2102
    Notification version    : 1
    Event type              : OBJCHANGE
    Database name           : <sid>
    Table Change Description (length=1)
        operation=[UPDATE], tableName=<table_name>, objectNumber=70164
        Row Change Description (length=1):
          ROW:  operation=UPDATE, ROWID=AAARIUAAGAAAV/pAAX
    Any idea ?

  • User exit or Badi for changing the lead time in ATP check in VA01/VA02

    Hi All,
    Currently, SAP standard functionality takes up the lead times maintained in material master to create the schedule lines in the sales order in VA01. I am looking for some user exiit/Badi/Enhancement point where I can change the lead time. This is somewhat urgent so any help in this regard is appreciated.
    Regards,
    Sandeep
    Edited by: Sandeep Gaitonde on Sep 1, 2011 9:16 PM

    Hi Sandeep,
    These are the user exits will trigger in va01 .
    SDTRM001 Reschedule schedule lines without a new ATP check
    V45A0001 Determine alternative materials for product selection
    V45A0002 Predefine sold-to party in sales document
    V45A0003 Collector for customer function modulpool MV45A
    V45A0004 Copy packing proposal
    V45E0001 Update the purchase order from the sales order
    V45E0002 Data transfer in procurement elements (PRreq., assembly)
    V45L0001 SD component supplier processing (customer enhancements)
    V45P0001 SD customer function for cross-company code sales
    V45S0001 Update sales document from configuration
    V45S0003 MRP-relevance for incomplete configuration
    V45S0004 Effectivity type in sales order
    V45W0001 SD Service Management: Forward Contract Data to Item
    V46H0001 SD Customer functions for resource-related billing
    V60F0001 SD Billing plan (customer enhancement) diff. to billing plan
    Please check this and post .
    Regards,
    Madhu.

  • WD Java RFC metadata cache invalidation without recycle JAVA

    Since we are in a high availability production system, we cannot recycle or CE instance. There are times were the RFC metdata invalidation does not work and the only things that forces it is a recycle of the CE system.
    This is contrary to what SAP has publicized, so is there a process in NWA or a single process (and NOT the server0 process) that we can refresh without stopping and starting the java engine.
    Much like Visual Administration is there a single service we can stop and start to ensure the engine stays up and running and available?
    Thanks
    Weyland Yutani

    Hi Weyland ,
    did you check the guide ?
    Metadata Cache Invalidation for Adaptive RFC Models
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
    There's a solution in this guide which explains how to proceed to avoid engine restart in case of ARFC.
    (I don't know your engine release, but if it is >= 711, then you may welcome this guide as well:
    Using an Adaptive RFC 2 Model in Web Dynpro Java
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/50f7192d-2808-2d10-189b-df3fa5f71abf )
    I hope this helps.
    Best Regards,
    Ervin

  • How to install the metadata cache invalidation tool

    Hi,
    I have  a problem in using JCO destinations for Adaptive RFC models.
    I went through the below pdf and they mentioned metadata cahce invalidation tool and it is not installed in the portal
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
    please let me know how to install metadata cache invalidation tool
    points will be rewarded for sure for the helpful answers

    I installed the Meta data cache invalidation tool using SDM and when i am trying to run that application from Content administrator it is throwing an exception
    The currently executed application, or one of the components it depends on, has been compiled against class file versions that are different from the ones that are available at runtime.
    If the exception message indicates, that the modified class is part of the Web Dynpro Runtime (package com.sap.tc.webdynpro.) then the running Web Dynpro Runtime is of a version that is not compatible with the Web Dynpro Designtime (Developer Studio or Component Build Server) which has been used to build + compile the application.*
    Note: the above hints are only a guess. They are automatically derived from the exception that occurred and therefore can't be guaranteed to address the original problem in all cases.
    please let me know how to resolve this issue
    Points will be awarded for sure
    Bala

  • How to install metadata cache invalidation tool

    Hi,
    I have  a problem in using JCO destinations for Adaptive RFC models.
    I went through the below pdf and they mentioned metadata cahce invalidation tool and it is not installed in the portal
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df
    please let me know how to install metadata cache invalidation tool
    points will be rewarded for sure for the helpful answers

    This tool is already installed on your system.
    1) navigate to http://<hostname>:<port>/index.html
    2) Click on "Webdynpro"
    3) Click on "Web Dynpro Console"
    3) Login as an Administrator (any user with admin priv's is ok).
    4) Notice the last entry in the list

  • Metadata Cache Invalidation for Adaptive RFC Models

    Hi,
    I’m trying the tutorial of the document: Metadata Cache Invalidation for Adaptive RFC Models.
    I’ve downloaded and deployed the EAR for NW7.0 on my server, but when I try to list the JCO destinations I have the following error:
       java.lang.NoSuchFieldError: flush_cache
        at com.sap.invalidation.InvalidationView.onActionGetSLDJCOs(InvalidationView.java:215)
    When I try to invalidate a dictionary, I have the message:
    Cache for Dictionary com.unilog.product.search.model.types.SearchProductModel invalidated
    But the tooltip value is not updated in my application...
    Can anyone give me some tips to use this component?
    Thanks in advance.
    Regards,
    Claire

    hi friends
    u see  this weblogs&pdf,this is helpful for u
    /people/bertram.ganz/blog/2007/01/08/the-top-12-hottest-sap-notes-every-web-dynpro-java-developer-must-know
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f3f93ee7-0c01-0010-2593-d7c28b5377c2
    Regards'
    vino

  • Is ServerSession Cache invalidated when we use raw SQL thru a UnitOfWork()

    Is ServerSession Cache invalidated (for the relevant objects that are mapped to any of the tables used in raw sql) when we use raw update/insert/delete SQL thru executeQuery() on UnitofWork acquired from a clientSession ?
    Or we need to do this ourselves by some procedure ?
    If there is any documentation about this, could you please refer me towards it.
    Thanks,
    Krishna

    Sorry, don't know how that question was missed.
    If you update data with SQL or stored procedures, then it's as if another application has updated the database and you must have a solid locking and refreshing policy in place. TopLink updates the cache after a UOW commit based on how you've manipulated the business model, not any adhoc updating SQL.
    - Don

  • HT1918 Need to change credit card info and it keeps telling me my security code is invalid and it is not.

    I'm trying to change my credit card info but it keeps telling me my security code us invalid and it is not.... I need to put my billing info in so I can update. 

    The Apple Support Communities are an international user to user technical support forum. As a man from Mexico, Spanish is my native tongue. I do not speak English very well, however, I do write in English with the aid of the Mac OS X spelling and grammar checks. I also live in a culture perhaps very very different from your own. When offering advice in the ASC, my comments are not meant to be anything more than helpful and certainly not to be taken as insults.
    Sometimes it says security code by it is the ZIP code. Sign into your account in the iTunes app on your computer and verify that all of the information is correct and agree to any new user agreements that may be needed.

  • Changing max-beans-in-cache

    Hi all
    If I change max-beans-in-cache property then do I need to redeploy (run ejbc on)
    the stateful session beans or will the server pick it up when I just restart the
    app server.
    I am using Weblogic 6.1 SP2
    Regards
    Kamran Yousaf

    I believe I was wondering this once myself. An easy way to find out is to change
    the value and then restart the server and check the EJB's configuration in your
    weblogic console.
    You will need to redeploy the beans though which should happen automatically if
    the timestamp on your ear file or jar file changes.
    "kamran" <[email protected]> wrote:
    >
    Hi all
    If I change max-beans-in-cache property then do I need to redeploy (run
    ejbc on)
    the stateful session beans or will the server pick it up when I just
    restart the
    app server.
    I am using Weblogic 6.1 SP2
    Regards
    Kamran Yousaf

  • Does a Change in the Local, Cached Image of iDisk Item Get Backed Up w/TM?

    I use iDisk as a network drive for two Macs. If I make a change to a locally cached iDisk file, is that change captured by Time Machine?

    No. The iDisk is not looked at by TM.
    However, if the locally cached iDisk is disconnected and a "Previous local iDisk for AccountName.sparsebundle" is left on your Desktop it will get backed up by TM when it makes its next backup. Something to be aware of.
    Message was edited by: BarryXSharp

  • Cache Invalidation using Invalidation Rule -not working

    Hi,
    I am caching a JSP using servlet caching by specifying it in the cachespec.xml. I am setting a dependency id for the cache entry and have also set an invalidation rule saying if the dependency id comes as a parameter for "xyz" then invalidate the cache. The jsp is getting cached, and the value that I specify as dependency id is also appearing. But when i try to invalidate it by passing the parameter say "http://localhost/wps/myportal/dynacache?xyz=1234", the cache doesnt get invalidated.
    Please suggest as what is the issue with this approach? Why is the cache invalidation not happening as per the rule set? Is there any other approach to invalidate it other than TTL? I understand invalidation-generator can only be used for web-service client cache.
    Please reply ASAP..
    This is my cache entry
    <cache>
    <cache-entry>
    <class>servlet</class>
    <name>/_caching/jsp/html/CachingPortletView.jsp</name>
    <cache-id>
    <component id="Cached" type="attribute">
    <required>true</required>
    </component>
    <component id="locale" type="locale">
    <required>false</required>
    </component>
    <component id="" ignore-value="true" type="pathinfo">
    <required>false</required>
    </component>
    </cache-id>
    <dependency-id>test
    <component id="Cached" type="attribute">
    <required>true</required>
    </component>
    </dependency-id>
    <invalidation>test
    <component id="Cached" type="parameter">
    <required>true</required>
    </component>
    </invalidation>
    </cache-entry>
    </cache>
    Regards,
    Sariba

    This sounds like an application server specific configuration, which is off-topic here. Try a forum devoted to your application server.

  • How can you change the leading in a fillable forms in the multi-line setting?

    I am creating multiple pdf files with check boxes, single text boxes and multi-line. On the form, I have multiple lines where the person will be able to type a description but I can't figure out how to change the leading so that when they do the fillable part, the copy will sit on the printed lines. Does anyone know how to do this, besides with the Typewriter tool, because that tool makes the rest of the document's fillable boxes unusable.

    Try making a new PDF from a blank page and add a couple of text fields. Save and reopen. You'll get a purple box at the top of the page that says there are form fields to be filled. If anyone needs more help they are in trouble. Again if you must have the lines you need to do some experiments with a text box and see what the leading is in Acrobat for the size of the text you are inputting and then adjust your lines to match, not the other way around. You have no control over the leading, just the font size.

Maybe you are looking for