Translation - XLF file with the UTF-8 BOM at the head of the file

Using APEX 3.2, I'm trying to get translations loaded for an application that I'm working on. We are going through the process of generating XLIFF files, sending them to a translator to translate, and then importing the data back in rather than manually editing the translations.
This works perfectly when I use my text editor to enter the (very poor) translations in the file. Our translator, however, uses a tool that adds a byte-order mask BOM at the head of the XLIFF file when it saves it in order to identify it as a UTF-8 encoded file. This appears to be a valid way for the tool to indicate the encoding being used though, obviously, the encoding in the header overrides it and the BOM is not the preferred method of specifying the encoding of an XML file. However, when we import the file in APEX, and hit the Apply XLIFF button, we get an error
ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing LPX-00210: expected '<' instead of '¿' Error at line 1
The third byte of the UTF-8 BOM (0xEF,0xBB,0xBF), if interpreted as an ISO-8859-1, would be the upside down question mark character in the error message. So it appears that the APEX importer is interpreting the BOM using the ISO-8859-1 character set and throwing an error that the file is not valid. That is not my reading of the proper XML parser behavior.
Obviously, we can work around the problem either by asking our translator to use a different tool or by opening up the files we get back in a hex editor and removing the BOM. Is there anything we can do to resolve the issue that doesn't involve adding an additional manual step to the process or the translator changing the tool being used? Or is there something I'm missing that would indicate that a file with the BOM in the first three bytes should not be considered a valid XML file?
Justin

Hello Justine,
>> Are you stating that that APEX translation engine more or less requires the database character set to be AL32UTF8 in order to work properly …
Not exactly.
The APEX translation engine uses the XML DB parser, and this one needs a legal XML file. The problem is that in your specific case, the encoding of the XLIFF file doesn’t match the database character set, hence a character set conversion process is involved in the middle. This conversion process – from UTF-8 to WE8MSWIN1252 embeds illegal XML characters in your stored XML file, right where the BOM is. If, for example, your XLIFF file were encoded in Windows-1252, no character conversion would be necessary and the final (database stored) version of the XLIFF would have been remained legal (assuming it started this way). In this case, the APEX translation mechanism will work just fine, even with a database character set of WE8MSWIN1252 (as you can see when you are using your own XLIFF files, which don’t include the (offending) BOM byte).
>> … even if an alternate character set encodes all the characters we need?
With your current database configuration, it seems that the alternate character set you are talking about can’t really encode all the characters that you need, as it can’t cope with the UTF-8 BOM conversion. It very well may be the only character it can’t handle, but that is enough.
As we need to be practical, and a database character set conversion is most likely out of the question, the simple solution is probably asking your translator to save your XLIFF files without including the BOM. I’m not familiar with the professional XLIFF editors you mentioned, however, as UTF-8 encoding doesn’t really need a BOM, saving a UTF-8 file without it should be an option (just like Keith mentioned with regards to very simple editors like the windows’ Notepad, or Notepad++).
Regards,
Arie.
&diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
&diams; Author of Oracle Application Express 3.2 – The Essentials and More

Similar Messages

  • TranslateApiException: Cannot find an active Azure Market Place Translator Subscription associated with the request credentials.

    Hi,
    I am developing .net application, I have found an issue : TranslateApiException: Cannot find an active Azure Market Place Translator Subscription associated with the request credentials. : ID=1250.V2_Soap.Translate.14B2EC51
    Recently signed up, sometimes it translated, most of the times i am having this exception
    And cannot able to translate the large amount of characters, exception raised as : 403 Entity is too large
    I set an maximum buffer length 2,147,483,647 too in web configuration
    Thanks in advance

    Hello Charulatha Suryakumar,
    You can verify that you are subscribed to the Translator API, by going to your
    My Data page on Windows Azure Marketplace.  It may be that you have reached the maximum monthly volume limit and need to upgrade your subscription level.
    Try shortening your requests.  Currently, you can translate a maximum of 10000 characters. We recommend keeping each request between 2000 and 5000 characters to optimize response times.  There is not a limit to the number of requests per minute.
    Hope this helps. Thank you.
    Microsoft Translator team - www.microsoft.com/Translator

  • Translated properties file not created

    I am trying to translate an application to several languages.  I imported the translated xlf files into the project and reloaded/rebuilt.  Translated versions of the properties files were created for all the languages I tried except Chinese.
    Any ideas?

    I checked the log, but nothing stood out (no errors and nothing different from the reload/rebuilds without Chinese translations).
    I was able to get it to work using the language code "zh_CN", but the properties files were not generated when I used the language codes "zh" or "zh-CN".  I guess I was just trying to use unsupported language codes.
    Thanks for the help...

  • Help needed in URM German translation override with XLF file translation

    I have a problem in URM 11.1.1.3 German translation override through a custom component.
    I have a OOTB German context localization ww_strings.xlf file present in <oracle middleware home>/ucm/idc/components/Localization/lang/de in URM with a translation entry as
    <trans-unit id="wwWarehouse@002frm">
    <source>Warehouse</source>
    <target>Warehouse</target>
    </trans-unit>
    The Warehouse storage type name is referring to the key 'wwWarehouse' and so i see 'Warehouse' as name in the storage pages.
    when i am overriding this entry key using a custom component with the following entry it does not work and the original translation is shown in the page.
    <@de.wwWarehouse=Archiv@>
    I have checked that the loadOrder is not the issue here and issue is the presence of @002frm keyword.The entry <@de.wwWarehouse@002frm=Archiv@> also does not work
    Any Idea how can i override the translation key.
    Any help would be greatly appreciated.
    Thanks
    Ayaskant

    Are you trying to translate a BI report, or the string in the web interface?
    I have to ask first:
    - Have you enabled the German locale for Content Server?
    - In your user profile, have you selected German?
    Assuming both answers are yes...
    I wouldn't worry about the XLF/XLIFF file if you are changing the caption in a report - provided the caption can even be translated in the report. URM does some black-magic translation for "certain" select strings in reports. Not sure "Warehouse" is one of them, though.
    I'd avoid trying the <@lang_code.string@> route -- sometimes it works, sometimes not. In your custom component, create a folder structure like "resources/lang/de/ww_strings.htm", and put <@wwWarehouse=Archiv@> in that file.

  • Problem with the PUT operation some files won't transfer help please

    Hi everyone,
    I am using DWCS3 on OS X Leoard 10.5 and MAMP
    I am putting together a basic index.html page and then I want to template it. Pretty basic stuff.
    However when I want to view the index.html page in my MAMP testing server, In the middle of the PUT operation I get a message saying;
    File activity incomplete 1 file or folder was not completed.
    index.html - Put operation successful
    - error occurred - An error occurred - cannot put .  An unknown error occurred.
    css:index.css - same - not transferred
    SpryAssets:SpryMenuBar.js - same - not transferred
    SpryAssets:SpryMenuBarHorizontal.css - same - not transferred
    SpryAssets:SpryMenuBarDown.gif - same - not transferred
    SpryAssets:SpryMenuBarRight.gif - same - not transferred
    SpryAssets:SpryMenuBarDownHover.gif - same - not transferred
    SpryAssets:SpryMenuBarRightHover.gif - same - not transferred
    SpryAssets:SpryMenuBarVertical.css - same - not transferred
    File activity incomplete. 1 file(s) or folder(s) were not completed.
    Files updated: 1
    Files skipped: 8
    Files with errors: 1
    Finished: 23/07/2010 13:30
    I am aware that files are not transferring over to the testing server but I don't understand why or how to fix the problem. I don't think the problem lies with the path from Dreamweaver to the testing server because I have been working on the page and viewing it in the testing server. It's only just started displaying the message above and not passing some of the files over. It will for example pass the index.css page over.
    I have copied the code over for index.html, SpryMenuBar.js, SpryMenuBarHorizontal.ccs and SpryMenuBarVertical.css.
    In the hope that someone will not mind taking a look at this for me.
    Below is the code for my home page in case the problem lies here
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Home Page Geoff Hyde is Innocent</title>
    <link href="//index.html" rel="stylesheet" type="text/css" media="all" />
    <link href="css/index.css" rel="stylesheet" type="text/css" />
    <!--[if IE 5]>
    <style type="text/css">
    /* place css box model fixes for IE 5* in this conditional comment */
    .twoColFixLtHdr #sidebar1 { width: 230px; }
    </style>
    <![endif]--><!--[if IE]>
    <style type="text/css">
    /* place css fixes for all versions of IE in this conditional comment */
    .twoColFixLtHdr #sidebar1 { padding-top: 30px; }
    .twoColFixLtHdr #mainContent { zoom: 1; }
    /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    </style>
    <![endif]-->
    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
    <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
    </head>
    <body class="twoColFixLtHdr">
    <div id="container">
      <div id="header">
        <h1><u>Geoff Hyde is Innocent!</u></h1>
        <!-- end #header -->
      </div>
      <div id="nav">
        <ul id="MenuBar1" class="MenuBarHorizontal">
          <li><a href="index.html" title="Home page">Home</a> </li>
          <li><a href="about.html" title="About the campaign">About us</a> </li>
          <li><a href="updates1.html" title="links to updates" class="MenuBarItemSubmenu">Updates</a>
            <ul>
              <li><a href="confisupdate.html" title="Confiscation update">Confiscation</a></li>
              <li><a href="appealupdate.html" title="Appeal update">Appeal</a></li>
              <li><a href="petitionupdate.html" title="Petition update">Petition</a></li>
              <li><a href="newspdf.html" title="News articles">News articles</a></li>
            </ul>
          </li>
          <li><a href="charity.html" title="About charity for Geoff Hyde" class="MenuBarItemSubmenu">Charity</a>
              <ul>
                <li><a href="friends.html" title="About the people supporting Geoff Hyde" class="MenuBarItemSubmenu">Friends</a>
                    <ul>
                      <li><a href="#">Item 3.1.1</a></li>
                      <li><a href="#">Item 3.1.2</a></li>
                    </ul>
                </li>
                </ul>
          </li>
          <li><a href="#" title="Links to the petition">Petition</a></li>
        </ul>
      </div>
      <br/>
      <div id="sidebar1">
        <h3> </h3>
        <ul id="MenuBar2" class="MenuBarVertical">
              <li><a href="case.html" title="What happened on 27 Feb">The case</a>          </li>
          <li><a href="invest1.html" title="Links to investigation" class="MenuBarItemSubmenu">Investigation</a>
            <ul>
              <li><a href="tipoff.html" title="Some things we are not allowed to know">Tip off</a></li>
              <li><a href="whyg.html" title="Why arrest Geoff?">Why Geoff</a></li>
              <li><a href="int27.html" title="27 minute interview">27 minutes</a></li>
              <li><a href="cops.html" title="What the Police did not do">Police</a></li>
            </ul>
          </li>
          <li><a href="evi.html" title="Links to evidence" class="MenuBarItemSubmenu">Evidence</a>
              <ul>
                <li><a href="calls.htnl" title="Fictional phone calls">Phone calls</a>            </li>
                <li><a href="timing.html" title="It's all in the timing">Timing</a></li>
                <li><a href="lie.html" title="Can you convict on a lie">Lucas directive</a></li>
                <li><a href="all.html" title="That's all folks">That's all</a></li>
            </ul>
          </li>
          <li><a href="confis.html" title="Links to Confiscation" class="MenuBarItemSubmenu">Confiscation</a>
              <ul>
                <li><a href="claners.html" title="Taken to the cleaners">Cleaners</a></li>
                <li><a href="ruin.html" title="Family faces ruin">Ruin</a></li>
                <li><a href="won.html" title="We won the Confiscation">We won</a></li>
            </ul>
          </li>
          <li><a href="biog.html" title="About Geoff Hyde">Biography</a></li>
          <li><a href="#" title="Link to the Petition">Petition</a></li>
          <li><a href="friends.html" title="About the Charity Friends of Geoff Hyde" class="MenuBarItemSubmenu">Charity</a>
            <ul>
              <li><a href="supp.html" title="About the people who supprt Geoff Hyde">Supporters</a></li>
            </ul>
          </li>
          <li><a href="about.html" title="About the Geoff Hyde is Innocent campaign">About us</a></li>
        </ul>
        <h3> </h3>
        <!-- end #sidebar1 --></div>
      <div id="mainContent">
        <h1>An Innocent Man</h1>
        <p>On February 27, 2006, haulier Geoff Hyde took a call on his mobile. Taking that call changed his life forever; because it ended up with the 59-year-old grandfather with no previous convictions to his name being found guilty of drug smuggling. He was sentenced to 22 years in prison. This website is devoted to showing how the Crown Prosecution Service conspired to put an innocent man behind bars, and once they did set about siezing the fruits of nearly four decades of hard work.</p>
        <h2> </h2>
      <!-- end #mainContent --></div>
        <!-- This clearing element should immediately follow the #mainContent div in order to force the #container div to contain all child floats --><br class="clearfloat" />
      <div id="footer">
        <p>&copy;copyright2010</p>
      <!-- end #footer --></div>
    <!-- end #container --></div>
    <script type="text/javascript">
    <!--
    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    var MenuBar2 = new Spry.Widget.MenuBar("MenuBar2", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
    //-->
    </script>
    </body>
    </html>
    This is the SpryMenuBar.js code which is not being transferred
    var Spry;
    if(!Spry)
        Spry = {};
    if(!Spry.Widget)
        Spry.Widget = {};
    // Constructor for Menu Bar
    // element should be an ID of an unordered list (<ul> tag)
    // preloadImage1 and preloadImage2 are images for the rollover state of a menu
    Spry.Widget.MenuBar = function(element, opts)
        this.init(element, opts);
    Spry.Widget.MenuBar.prototype.init = function(element, opts)
        this.element = this.getElement(element);
        // represents the current (sub)menu we are operating on
        this.currMenu = null;
        var isie = (typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE');
        if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (isie && typeof document.uniqueID == 'undefined'))
            // bail on older unsupported browsers
            return;
        // load hover images now
        if(opts)
            for(var k in opts)
                var rollover = new Image;
                rollover.src = opts[k];
        if(this.element)
            this.currMenu = this.element;
            var items = this.element.getElementsByTagName('li');
            for(var i=0; i<items.length; i++)
                this.initialize(items[i], element, isie);
                if(isie)
                    this.addClassName(items[i], "MenuBarItemIE");
                    items[i].style.position = "static";
            if(isie)
                if(this.hasClassName(this.element, "MenuBarVertical"))
                    this.element.style.position = "relative";
                var linkitems = this.element.getElementsByTagName('a');
                for(var i=0; i<linkitems.length; i++)
                    linkitems[i].style.position = "relative";
    Spry.Widget.MenuBar.prototype.getElement = function(ele)
        if (ele && typeof ele == "string")
            return document.getElementById(ele);
        return ele;
    Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className)
        if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
            return false;
        return true;
    Spry.Widget.MenuBar.prototype.addClassName = function(ele, className)
        if (!ele || !className || this.hasClassName(ele, className))
            return;
        ele.className += (ele.className ? " " : "") + className;
    Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className)
        if (!ele || !className || !this.hasClassName(ele, className))
            return;
        ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
    // addEventListener for Menu Bar
    // attach an event to a tag without creating obtrusive HTML code
    Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture)
        try
            if (element.addEventListener)
                element.addEventListener(eventType, handler, capture);
            else if (element.attachEvent)
                element.attachEvent('on' + eventType, handler);
        catch (e) {}
    // createIframeLayer for Menu Bar
    // creates an IFRAME underneath a menu so that it will show above form controls and ActiveX
    Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu)
        var layer = document.createElement('iframe');
        layer.tabIndex = '-1';
        layer.src = 'javascript:false;';
        menu.parentNode.appendChild(layer);
        layer.style.left = menu.offsetLeft + 'px';
        layer.style.top = menu.offsetTop + 'px';
        layer.style.width = menu.offsetWidth + 'px';
        layer.style.height = menu.offsetHeight + 'px';
    // removeIframeLayer for Menu Bar
    // removes an IFRAME underneath a menu to reveal any form controls and ActiveX
    Spry.Widget.MenuBar.prototype.removeIframeLayer =  function(menu)
        var layers = menu.parentNode.getElementsByTagName('iframe');
        while(layers.length > 0)
            layers[0].parentNode.removeChild(layers[0]);
    // clearMenus for Menu Bar
    // root is the top level unordered list (<ul> tag)
    Spry.Widget.MenuBar.prototype.clearMenus = function(root)
        var menus = root.getElementsByTagName('ul');
        for(var i=0; i<menus.length; i++)
            this.hideSubmenu(menus[i]);
        this.removeClassName(this.element, "MenuBarActive");
    // bubbledTextEvent for Menu Bar
    // identify bubbled up text events in Safari so we can ignore them
    Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
        return (navigator.vendor == 'Apple Computer, Inc.' && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget)));
    // showSubmenu for Menu Bar
    // set the proper CSS class on this menu to show it
    Spry.Widget.MenuBar.prototype.showSubmenu = function(menu)
        if(this.currMenu)
            this.clearMenus(this.currMenu);
            this.currMenu = null;
        if(menu)
            this.addClassName(menu, "MenuBarSubmenuVisible");
            if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE')
                if(!this.hasClassName(this.element, "MenuBarHorizontal") || menu.parentNode.parentNode != this.element)
                    menu.style.top = menu.parentNode.offsetTop + 'px';
            if(typeof document.uniqueID != "undefined")
                this.createIframeLayer(menu);
        this.addClassName(this.element, "MenuBarActive");
    // hideSubmenu for Menu Bar
    // remove the proper CSS class on this menu to hide it
    Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu)
        if(menu)
            this.removeClassName(menu, "MenuBarSubmenuVisible");
            if(typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE')
                menu.style.top = '';
                menu.style.left = '';
            this.removeIframeLayer(menu);
    // initialize for Menu Bar
    // create event listeners for the Menu Bar widget so we can properly
    // show and hide submenus
    Spry.Widget.MenuBar.prototype.initialize = function(listitem, element, isie)
        var opentime, closetime;
        var link = listitem.getElementsByTagName('a')[0];
        var submenus = listitem.getElementsByTagName('ul');
        var menu = (submenus.length > 0 ? submenus[0] : null);
        var hasSubMenu = false;
        if(menu)
            this.addClassName(link, "MenuBarItemSubmenu");
            hasSubMenu = true;
        if(!isie)
            // define a simple function that comes standard in IE to determine
            // if a node is within another node
            listitem.contains = function(testNode)
                // this refers to the list item
                if(testNode == null)
                    return false;
                if(testNode == this)
                    return true;
                else
                    return this.contains(testNode.parentNode);
        // need to save this for scope further down
        var self = this;
        this.addEventListener(listitem, 'mouseover', function(e)
            if(self.bubbledTextEvent())
                // ignore bubbled text events
                return;
            clearTimeout(closetime);
            if(self.currMenu == listitem)
                self.currMenu = null;
            // show menu highlighting
            self.addClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");
            if(menu && !self.hasClassName(menu, "MenuBarSubmenuVisible"))
                opentime = window.setTimeout(function(){self.showSubmenu(menu);}, 250);
        }, false);
        this.addEventListener(listitem, 'mouseout', function(e)
            if(self.bubbledTextEvent())
                // ignore bubbled text events
                return;
            var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);
            if(!listitem.contains(related))
                clearTimeout(opentime);
                self.currMenu = listitem;
                // remove menu highlighting
                self.removeClassName(link, hasSubMenu ? "MenuBarItemSubmenuHover" : "MenuBarItemHover");
                if(menu)
                    closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, 600);
        }, false);
    The code below is the SpryMenuBarHorizontal.css
    @charset "UTF-8";
    /* SpryMenuBarHorizontal.css - Revision: Spry Preview Release 1.4 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* The outermost container of the Menu Bar, an auto width box with no margin or padding */
    ul.MenuBarHorizontal
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        cursor: default;
        width: 780px;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive
        z-index: 1000;
    /* Menu item containers, position children relative to this container and are a fixed width */
    ul.MenuBarHorizontal li
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        position: relative;
        text-align: left;
        cursor: pointer;
        width: 156px;
        float: left;
    /* Submenus should appear below their parent (top: 0) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarHorizontal ul
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        z-index: 1020;
        cursor: default;
        width: 156px;
        position: absolute;
        left: -1000em;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to auto so it comes onto the screen below its parent menu item */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible
        left: auto;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarHorizontal ul li
        width: 156px;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) */
    ul.MenuBarHorizontal ul ul
        position: absolute;
        margin: -5% 0 0 95%;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarHorizontal ul.MenuBarSubmenuVisible ul.MenuBarSubmenuVisible
        left: auto;
        top: 0;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Submenu containers have borders on all sides */
    ul.MenuBarHorizontal ul
        border: 1px solid #CCC;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarHorizontal a
        display: block;
        cursor: pointer;
        background-color: #CC0000;
        padding: 0.5em 0.75em;
        color: #FFFFFF;
        text-decoration: none;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:focus
        background-color: #000000;
        color: #FFF;
    /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
    ul.MenuBarHorizontal a.MenuBarItemHover, ul.MenuBarHorizontal a.MenuBarItemSubmenuHover, ul.MenuBarHorizontal a.MenuBarSubmenuVisible
        background-color: #33C;
        color: #FFF;
    SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenu
        background-image: url(SpryMenuBarDown.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenu
        background-image: url(SpryMenuBarRight.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal a.MenuBarItemSubmenuHover
        background-image: url(SpryMenuBarDownHover.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarHorizontal ul a.MenuBarItemSubmenuHover
        background-image: url(SpryMenuBarRightHover.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    ul.MenuBarHorizontal iframe
        position: absolute;
        z-index: 1010;
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection
        ul.MenuBarHorizontal li.MenuBarItemIE
            display: inline;
            f\loat: left;
            background: #FFF;
    Below is the code for SpryMenuBarVertical.css
    @charset "UTF-8";
    /* SpryMenuBarVertical.css - Revision: Spry Preview Release 1.4 */
    /* Copyright (c) 2006. Adobe Systems Incorporated. All rights reserved. */
    LAYOUT INFORMATION: describes box model, positioning, z-order
    /* The outermost container of the Menu Bar, a fixed width box with no margin or padding */
    ul.MenuBarVertical
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        cursor: default;
        width: 8em;
    /* Set the active Menu Bar with this class, currently setting z-index to accomodate IE rendering bug: http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html */
    ul.MenuBarActive
        z-index: 1000;
    /* Menu item containers, position children relative to this container and are same fixed width as parent */
    ul.MenuBarVertical li
        margin: 0;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        position: relative;
        text-align: left;
        cursor: pointer;
        width: 8em;
    /* Submenus should appear slightly overlapping to the right (95%) and up (-5%) with a higher z-index, but they are initially off the left side of the screen (-1000em) */
    ul.MenuBarVertical ul
        margin: -5% 0 0 95%;
        padding: 0;
        list-style-type: none;
        font-size: 100%;
        position: absolute;
        z-index: 1020;
        cursor: default;
        width: 8.2em;
        left: -1000em;
        top: 0;
    /* Submenu that is showing with class designation MenuBarSubmenuVisible, we set left to 0 so it comes onto the screen */
    ul.MenuBarVertical ul.MenuBarSubmenuVisible
        left: 0;
    /* Menu item containers are same fixed width as parent */
    ul.MenuBarVertical ul li
        width: 8.2em;
    DESIGN INFORMATION: describes color scheme, borders, fonts
    /* Outermost menu container has borders on all sides */
    ul.MenuBarVertical
        border: 1px solid #CCC;
    /* Submenu containers have borders on all sides */
    ul.MenuBarVertical ul
        border: 1px solid #CCC;
    /* Menu items are a light gray block with padding and no text decoration */
    ul.MenuBarVertical a
        display: block;
        cursor: pointer;
        background-color: #000000;
        padding: 0.5em 0.75em;
        color: #FFFFFF;
        text-decoration: none;
    /* Menu items that have mouse over or focus have a blue background and white text */
    ul.MenuBarVertical a:hover, ul.MenuBarVertical a:focus
        background-color: #666666;
        color: #FFF;
    /* Menu items that are open with submenus are set to MenuBarItemHover with a blue background and white text */
    ul.MenuBarVertical a.MenuBarItemHover, ul.MenuBarVertical a.MenuBarItemSubmenuHover, ul.MenuBarVertical a.MenuBarSubmenuVisible
        background-color: #33C;
        color: #FFF;
    SUBMENU INDICATION: styles if there is a submenu under a given menu item
    /* Menu items that have a submenu have the class designation MenuBarItemSubmenu and are set to use a background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical a.MenuBarItemSubmenu
        background-image: url(SpryMenuBarRight.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    /* Menu items that are open with submenus have the class designation MenuBarItemSubmenuHover and are set to use a "hover" background image positioned on the far left (95%) and centered vertically (50%) */
    ul.MenuBarVertical a.MenuBarItemSubmenuHover
        background-image: url(SpryMenuBarRightHover.gif);
        background-repeat: no-repeat;
        background-position: 95% 50%;
    BROWSER HACKS: the hacks below should not be changed unless you are an expert
    /* HACK FOR IE: to make sure the sub menus show above form controls, we underlay each submenu with an iframe */
    ul.MenuBarVertical iframe
        position: absolute;
        z-index: 1010;
    /* HACK FOR IE: to stabilize appearance of menu items; the slash in float is to keep IE 5.0 from parsing */
    @media screen, projection
        ul.MenuBarVertical li.MenuBarItemIE
            display: inline;
            f\loat: left;
            background: #FFF;

    I've only encountered two instances where the PUT operation failed on certain files. One, the server does not like the particular file type, and two, when the file was open in another program.
    Other than that, I could only guess that it may have something else to do with the web server configuration and not DW.

  • AVCHD: how to deal with the .MTS files in FCP 5 or iMovie 08

    I just bought a Canon HF10 AVCHD camcorder and stumbles into the difficult editing process with FCP 5. Here are my steps:
    - Conversion of the camcorder .MTS files with iMovie 8; they are then transformed into a .MOV sequence. A 14secondes sequence recorded in the highest quality (FXP, 17Mbps) is captured as a 28MB .MTS file by the camcorder, rendered as a 231MB .MOV file by iMovie 8, and it took 53 sec to process it !
    - I export the sequence as: Share >Export Final Cut XML…
    - In FCP 5: import XML…then I tried different modes: AIC 1080i60 (image is overstreched), AIC 720p30 (proportion is OK, but I captured in 1080…), AIC DV NTSC 48kHz (not HD…) BUT none of the resulting sequence is rendered, I still have the red bar above the timeline.
    For financial reason, I’d like to avoid to go to FCP 6, which seems to work natively with the AVCHD format.
    My questions are:
    - is there a way to reduce the size of the iMovie converted files: 900MB per minute ?
    - is there a way not to have to render the imported files in FCP ?
    Can anyone help me ?

    I have the same camera and the reality is you're going to go through that translation from AVCHD to some sort of Quicktime file format no matter which tool you use. I do it with FCP6 and it needs to do the same translation from the .mts files to (they recommend) ProRes files. AVCHD is a highly compressed format and when you move it to an editable form, the file(s) is going to get much larger. It is HiDef content after all which can be quite large.
    In my case, once I do the transfer to ProRes format nothing needs to be rendered in the FCP timeline unless I add some sort of filter or effect to it.
    The rendering problem you are describing is often caused by the Sequence setting not matching the content settings. This is automated in FCP6 where it detects the content format of the video you're trying to add and changes the sequence settings to match the content. Take a look at the sequence settings and see if they match the structure of the content and that should resolve the 'everything needs to be rendered' situation.

  • File receiver adapter with the same filename than sender

    Hi guys,
    I am experiencing a problem when I use the <b>Adapter Specific Message Properties</b> to be able to receive a file with the same name as the sender.
    I've been following the example of Michal Krawczyk (XI: The same filename from a sender to a receiver file adapter - SP14) but i get a problem  related with the content converter parameters. 
    The error I receice in the File  Adapter is the next:
    <i>Could not process due to error: java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters!</i>
    I have been trying to do all the combinations with the content conversion parameters but the result is allways the same, MORE FIELDS FOUND IN XML ....
    My XML structure is the next:
    <ns0:MT_MDFranceN xmlns:ns0="urn:s-n:HR:MasterDataFrance">
       <lines>
          <line>  
             <header/>    1..1
             <data/>       0...unbound
          </line>
       </lines>
    </ns0:MT_MDFranceN>
    In the header I write the name of the file with the code provided by SAP and Michal, so the name of the file is stored there.
    any help?
    Thanks!!!!!

    I have changed the XML because, as you said, there is no need to introduce the filename inside the payload. Now the  structure is the next:
    <i><?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_MDFranceN xmlns:ns0="urn:s-n:HR:MasterDataFrance">
       <lines>
          <line>
             <data/>
          </line>
       </lines>
    </ns0:MT_MDFranceN></i>
    Record Structure: lines,line
    line.addHeaderLine   0
    line.endSeparator     'nl'
    lines.fieldSeparator   'nl'
    line.fieldFixedLengths  1300
    A sample of the payload is the next:
    - <ns0:MT_MDFranceN xmlns:ns0="urn:s-n:HR:MasterDataFrance">
    - <lines>
    - <line>
      <data>EDI_DC40_U5300000</data>
      <data>E2HR_HD001 530000000000007802</data>
      <data>E2HR_KY001 530000000000101TS 20070104000010 20070129</data>
    000000601</data>
      </line>
      </lines>
      </ns0:MT_MDFranceN>
    And.....   I still have the same problem, the same message in the file adapter:
    <b> 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters</b>
    Any idea of what can be the problem?
    thank you very much!!!

  • IF_IXML : How can i add encoding with value UTF-8 to the document object??

    Hi
    i want to create a xml file with the following content:
    <?xml version="1.0" encoding="UTF-8"?>
    <OpenSearchDescription xmlns="http://...."> 
    </OpenSearchDescription>
    i did this with the if_ixml interface and rendered the content in a file 'D:\usr\sap\IFD\DVEBMGS01\log\TEST_out.xml
    <?xml version="1.0"?>
    <OpenSearchDescription xmlns="http://...."> 
    </OpenSearchDescription>
    BUT the document attribut(?) encoding="UTF-8"?> is missing!
    How can i add encoding with value UTF-8 to the document object?? it should look like:
    <?xml version="1.0" encoding="UTF-8"?>
    *here is my coding.
    TYPE-POOLS: ixml.
    CLASS cl_ixml DEFINITION LOAD.
    DATA: lo_ixml           TYPE REF TO if_ixml,
          lo_streamfactory  TYPE REF TO if_ixml_stream_factory,
          lo_document       TYPE REF TO if_ixml_document,
          lo_parent         TYPE REF TO if_ixml_element,
          lo_ostream        TYPE REF TO if_ixml_ostream,
          lo_renderer       TYPE REF TO if_ixml_renderer,
         lv_rc           TYPE i.
    lo_ixml = cl_ixml=>create( ).
    lo_streamfactory = lo_ixml->create_stream_factory( ).
    lo_document = lo_ixml->create_document( ).
    lo_parent = lo_document->create_simple_element( name   = 'OpenSearchDescription'  "root node
                                                    parent = lo_document ).
    lo_parent->set_attribute_ns( name   =  'xmlns'
                                 value  = 'http://....' ).
    *rausrendern in file
    lo_ostream = lo_streamfactory->create_ostream_uri( system_id = 'D:\usr\sap\IFD\DVEBMGS01\log\TEST_out.xml' ).
    lo_renderer = lo_ixml->create_renderer( ostream  = lo_ostream
                                            document = lo_document ).
    lv_rc = lo_renderer->render( ).
    Thanks for help
    Britta

    Use the following code:
    set an document encoding
      l_encoding = l_ixml->create_encoding( character_set = 'UTF-8'
                                            byte_order = if_ixml_encoding=>co_none ).
      l_success  = l_ostream->set_encoding( encoding = l_encoding ).
    create a xml renderer
      l_renderer = l_ixml->create_renderer( document = l_doc ostream  = l_ostream ).

  • How to change translation text in XLF file without re deploying?

    Hi All,
    I want to change the translation text of WebDynpro application without using NWDS. The application is already deployed in Production. Is there any way to change the translation text directly from the server (without changing the message in XLF file through NWDS) and re deploying the applicaion?
    Thanks,
    Shilpa.
    Edited by: Shilpa KG on Aug 2, 2010 6:05 AM

    Hi All,
    I want to change the translation text of WebDynpro application without using NWDS. The application is already deployed in Production. Is there any way to change the translation text directly from the server (without changing the message in XLF file through NWDS) and re deploying the applicaion?
    Thanks,
    Shilpa.
    Edited by: Shilpa KG on Aug 2, 2010 6:05 AM

  • Cloning OS2 HDD to USB stick hangs at a file with the same name ???

    Hi,
    I'm dragging my MacIntosh HD icon to a large USB stick in order to clone it because I'm going to install OS X Tiger onty my iMac G3/400 DV SE. The copying initiates, it starts, and after a few hundreds of MB's a small window pops up with this remark (translated from Dutch) :
    " The file XXXXX cannot be copied because another file with the same name exists already." The window has two buttons : STOP and Continue. No matter which button I click, the process stops and I'm left with a few hundred MB on my USB stick. Deleting the "double" file doesn't help because a few minutes later another one pops up.
    How is this possible? The USB stick is completely empty! Can anybody tell me what's going on and how to stop this, otherwise I'll never be able to clone the HDD.
    Thanks for your kind information,
    Paul

    It was a bug in Classic OS, which was manifest in certain circumstances. My workaround was, at that time, to isolate the rascal (was possible, like in your case), eliminate it, then add it later.
    Such events may occurs with Mac OS X files too, I cannot figure out why. One or two apps in my software archive usually do that.
    another workaround it to archive it (.zip now, .sit in classic Mac OS), check whether applicable.

  • How can I import an Aperture Catalog into Lightroom and retain the RAW file as well as the files with the edits?

    I have several catalogs in Aperture that I would like to import to Lightroom 5 and I want to retain the original RAW files as well as the files with the edits.  How can I do this?

    Well, you can bring in the raw file (without edits), and you can bring in a rendered RGB file (e.g. jpeg or tiff) with edits baked in, but what you CAN'T do is bring in a raw file, with the non-destructive Aperture edits, and have Lr translate those Aperture edits into Lightroom edits.
    Put another way: no raw converter/editor can understand the edits of any other raw converter/editor. So, you have to work with a rendered version, and/or re-edit from scratch in a new raw converter/editor.
    PS - it would be feasible to write a rough translator which approximated raw edits in one world into edits in another, but such does not exist yet for Aperture -> Lightroom, that I know of.

  • I need to create an action or script to save the file with the name of the selected layer

    I need to create an action or script to save the file with the name of the selected layer (not including the hidden layers, but including those visible).
    How could modify the script: 'Layer Comps To Files.jsx' to get the result?
    Warning: I do not need to export all layers as files.
    Who can help me?
    THX in advance

    Versione in Italiano (Further down the English version)
    NB - Nella versione inglese ho messo tutte le immagini dei menu in italiano.
    Versione per Mac, ma credo sia identico per Windows.
    Spiego passo passo cosa ho fatto:
    - Ho creato un file esempio con tre Livelli, salvato sulla scrivania e ho chiuso il file.
    - Ho aperto il file e selezionato il Livello al centro per iniziare a registrare una azione che ho chiamato: Save with Name of Selected Layer
    - Nuova azione
    - Dare il nome e premere Registra
    Ora salva…
    - Menu --> Livello --> Nuovo --> Livello... e premi -ok-, (lascia il nome che viene mostrato)
    - Ancora una volta Menu --> Livello... --> Nuovo --> Livello... e premi -ok-, (lascia il nome che viene mostrato)
    - Menu --> Livello --> Ordina --> Dietro
    - Menu --> Livello --> Unisci sotto
    - Menu --> Livello --> Unisci visibili
    - Menu --> Livello --> Nuovo --> Livello... e premi -ok-, (lascia il nome che viene mostrato)
    - Menu --> Livello - Nascondi Livello
    - Menu --> Elimina --> Elimina livelli nascosti (press -Yes-)
    - Menu --> Livello --> Nuovo --> Livello... Inserisci questo: 'Move this to the trash' e premi ok
    - Menu --> File --> Script --> Esporta Livelli in File... (Nella finestra che si apre scegliere l’opzione che si desidera, ma togliere il prefisso del nome) e premere -Esegui-
    - Selezionare il pannello Storia cliccare su Elimina premendo -Si- ogni volta che si apre la finestra di dialogo (Ripetere 8 volte questa operazione sino ad arrivare nella storia alla condizione di partenza. Ho visto che è meglio di Ripristina -F12-)
    - Fermare la registrazione.
    A questo punto, mandando in esecuzione questa Azione, ho raggiunto parzialmente l’obiettivo perché i file così creati mantengono, purtroppo, dei prefissi numerici per evitare probabilmente la sovrascrizione di file (credo senza avviso) nel posto dove vengono creati.
    Per ottenere l’obiettivo occorre un nuovo passo ed a proposito di questo riferisco quanto segue:
    ATTENZIONE - L’operazione descritta qui di seguito deve essere fatta su di una copia del file, per cui:
    - Duplicare il file,
    - Spostare l’originale in altra cartella
    - Lavorare sul file duplicato.
    mi riferisco a questo...
    ATTENZIONE - Questa modifica è effettuata a proprio rischio e pericolo ed il sottoscritto non si assume alcuna responsabilità su quanto venga fatto soprattutto da mani inesperte.
    ATTENZIONE - Questa modifica sovrascrive qualsiasi file che abbia nome uguale al layer che viene selezionato più l’estensione del file naturalmente.
    Comunque la modifica è banalissima e a portata di chiunque.
    Procedere così:
    - Chiudere Photoshop
    - Aprire (nel percorso specificato dall’immagine) il file “Export Layers to Files.jsx” (Export Layers To Files.jsx 1.0.0.16) con un editor di testo puro.
    - cercare la stringa (dovrebbe essere in riga 1029)
    var fileNameBody = fileNamePrefix;
    fileNameBody += "_" + zeroSuppress(i, 4);
    fileNameBody += "_" + layerName;
    - sostituirla con:
    var fileNameBody = fileNamePrefix;
    fileNameBody += layerName;
    - cercare la stringa (dovrebbe essere in riga 1047-46)
    var fileNameBody = fileNamePrefix;
    fileNameBody += "_" + zeroSuppress(i, 4) + "s";
    - sostituirla con:
    var fileNameBody = fileNamePrefix;
    fileNameBody += "";
    - salvare e uscire.
    - riavviare Photoshop
    - provare l’azione registrata facendo attenzione che il nome del layer non sia identico al nome di un file già presente altrimenti questo verrà sovrascritto.
    Domanda:
    Perché ho creato livelli che poi ho eliminato ecc.
    Risposta:
    Semplice per evitare errori di esecuzione delle azioni nel caso di operazioni con livelli mancanti o altro.
    Semplice... no?
    English version
    Mac version, but I think it's the same for Windows.
    First of all, I'm translating the actions that I made using the Italian version of Photoshop, you look at the position of the menu that I have chosen to do the work with other languages.
    I explain step by step what I did:
    - I created a sample file with three layers, saved to the desktop and I closed the file.
    - I opened the file and select the layer at the center to start recording an action that I called: Save with Name of the Selected Layer
    - New action
    - Give the name and press Save ( I think it is so in English )
    Now save ...
    - Menu -> Layer - > New —> Layer… and press -ok- , (leave the name that is shown)
    - Once again Menu -> Layer - > New —> Layer… and press -ok- , (leave the name that is shown)
    - Menu -> Layer - > Arrange (order) -> Behind
    - Menu -> Layer - > Merge Down
    - Menu -> Layer - > Merge Visible
    - Menu -> Layer - > New —> Layer… and press -ok- , (leave the name that is shown)
    - Menu -> Layer - Hide Layer
    - Menu - > Delete - > Delete hidden layers (press -Yes- )
    - Menu -> Layer - > New —> Layer… Enter this: ' Move this to the trash ' and press ok
    - Menu -> File - > Scripts -> Export Layers To Files... (In the window that opens select the option you want, but take away the name prefix) and press - Run -
    - Select the History panel and click Delete (on menu opened) pressing -Yes- every time when open the dialog box (8 times Repeat this step until you get into the story to the starting condition. Not use Restore -F12-).
    - Stop recording.
    At this point, by executing this action, I have reached the goal partly because the files created in this way remain, unfortunately, the numerical prefixes to avoid possibly overwriting of files (I think without notice) in the place where they are created.
    To achieve the goal we need a new step and thinking about this as follows:
    WARNING - The operation described below should be made on a copy of the file, so :
    - Duplicate the file
    - Move the original folder to another
    - Work on the duplicate file.
    WARNING - This modification is performed at your own risk and the undersigned assumes no responsibility on what is done mostly by inexperienced hands.
    WARNING - This change will overwrite any files with the same name as the selected layer plus the file extension of course.
    However, the change is trivial and within reach of anyone.
    Proceed as follows:
    - Close Photoshop
    - Open (in the specified path from the image ) file " Export Layers to Files.jsx " (Export Layers To Files.jsx 1.0.0.16) with a pure text editor.
    - Search for the string (should be in line 1029 )
    var = fileNameBody fileNamePrefix ;
    fileNameBody = + "_" + zeroSuppress (i, 4 ) ;
    fileNameBody + = "_ " + layerName ;
    - Replace it with :
    var = fileNameBody fileNamePrefix ;
    fileNameBody + = layerName ;
    - Search for the string (should be in line 1047-46 )
    var = fileNameBody fileNamePrefix ;
    fileNameBody + = "_ " + zeroSuppress (i, 4) + "s" ;
    - Replace it with :
    var = fileNameBody fileNamePrefix ;
    fileNameBody + = "";
    - Save and exit.
    - Restart Photoshop
    - Try the recorded Action, making sure that the layer name is not identical to the name of an existing file otherwise it will be overwritten.
    Question:
    Why I created levels which I then deleted etc..
    Answer:
    Simple to avoid errors of execution of the actions in the case of transactions with missing levels and other.
    Simple ... is not it?
    Sorry for my bad English...
    Thanks in advance for any hint.
    --->>> Please think about this... Adobe <<<---

  • Upload a csv file in application server with the specified codepage(Poland

    Hi,
    i want to upload a csv file in application server with the specified codepage ( for poland ) , please let me know how to use open dataset for that.?
    Anurag

    I would upload the file with transaction CG3Z in binary mode and do the code page translation with a report: read from server an save with different name.

  • [svn] 1267: fixed . patch creation to create patch with the selected files only, remove, fix newlines in the patch file.

    Revision: 1267
    Author: [email protected]
    Date: 2008-04-16 17:02:53 -0700 (Wed, 16 Apr 2008)
    Log Message:
    fixed .patch creation to create patch with the selected files only, remove, fix newlines in the patch file.
    Modified Paths:
    flex/sdk/trunk/tools/diffpack/diffpack
    flex/sdk/trunk/tools/diffpack/readme.txt

    All,
    I thought it may be related to spaces in the path in which the script was called from. I tried having the ODBC command script in another directory but the same thing happens. It will give me the "CONFIGSYSDSN: Unable to create a data source for the 'Oracle in OraClient10g_home1' driver: Could not load the setup or translator library with error code -2147467259". As soon as the script is done running I can manually double click the script and it adds the DSN fine.
    Thanks,
    Clif Bridegum

  • Can I deploy a war file with the mixture of JSP and servlet?

    I have a project, which the JSP has been created for view page, and the servlet was created to retrieve the database, but we have trouble to pass the session variable from servlet back to JSP, it is NULL, with different session ID.
    Now, I try to add the servlet into the same JSP project, and deploy them as one war file, so, it will be called under the same subdirectory (Tomcat).
    It failed to call the servlet, with the error message
    Servlet FirstServlet is not available
    I wonder whether this is valid, if it is, what I may lost, if it is not, how to pass the session variable between them.
    Thanks.

    I double checked the web.xml file, the FirstServlet was defined as servlet class, and the FirstServlet class was found under WEB-INF/classes/FirstServletPackage directory.
    Here it is the web.xml file
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
    <servlet-name>FirstServlet</servlet-name>
    <servlet-class>FirstServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>FirstServlet</servlet-name>
    <url-pattern>/FirstServlet</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>
    30
    </session-timeout>
    </session-config>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>
    and here it is the message from Tomcat log
    May 28, 2009 5:09:43 PM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Allocate exception for servlet FirstServlet
    java.lang.ClassNotFoundException: FirstServlet
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1094)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:808)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:595)
    I will try to rename it, then test it again.

Maybe you are looking for

  • While performing Insert, it takes too much time ?

    I have a SQL which while executed returns over 40,000 rows and runs under 15 secs. I use the same SQL to perform an insert into a temp. table using a Stored Procedure and it takes over 50 mins !! I don't understand this, why it takes that long? Remem

  • Forms to JSP conversion

    Hi all, I have some forms developed in Oracle 9i forms builder. I want to convert them in JSP. Can I do this by using JHeadStart? I have downloaded JHeadStart 10G. But I can not use it with JDeveloper 9i What else can I use for converting 9i forms to

  • Blue ray

    Finder doesn't recognise an empty blu ray disc in my external Freecom Blu-Ray Rewriter. Finder always aks me to put a DVD or a CD in.

  • How to read old (archived) mail?

    Hi - As the subject indicates, I'm not sure what the best way is to read old archived mail.... Old mail was saved before I updated to Tiger, and don't know if that makes a difference. Obviously I want to avoid overwriting any current messages, but wo

  • Trackpad will not recignise commands

    M laptop will not recognise any commands on trackpad. Will only recognise dashboard from a mouse & will not recignise anything from keyboard.