Shutdown hook not getting called when running tomcat as a service

I have a shutdown hook as part of a lifecycle <Listener> tomcat6 class, which gets created and registered in the class's constructor (class is referenced in the server.xml). The hook gets called during shutdown when tomcat has been started from a shell, but not when tomcat has been installed as a service. The -Xrs flag doesn't make a difference either way. I am running java 6u12 server VM (haven't tried client) and prior versions. Does anyone have any ideas? This has been tested by starting/stopping from the Control Panel, and also with 'tomcat6 //TS/ServiceName' (i.e. in test mode)
One possibility is that tomcat internally calls Runtime.halt(), but the shutdown process appears to be normal and the same with either scenario. The other possibility is that the JVM has an issue. The tomcat user groups don't have anything to offer.
Thoughts?
tia

sanokistoka wrote:
jschell wrote:
sanokistoka wrote:
Let me ask the last question in a better way: Does anyone have any GOOD ideas?Get back to us when you have found your good solution.Stop wasting bandwidth. I didn't post here to be a smart ars like you and pretend that I have a solution to a rare problem... FYI - the workaround is to use the tomcat lifecycle events (AFTER_STOP_EVENT) to achieve the same - why do you think I mentioned it's a tomcat listener in the first place? Feel free to educate me.
So you are claiming that Runtime.getRuntime().addShutdownHook() that you posted in the above is not part of the java API?
Or perhaps that everything that is added via addShutdownHook() runs?
Surely you are not claiming that it isn't calling addShutdownHook() in the first place?
Get a life and a job.I have both but thanks for the concern.
sanokistoka wrote:
swamyv wrote:
There are free tools available to debug windows. I think gdb is one of them. If you search you can find some good tools.
If you find any good tools that you like share it with us.
Yes I will try gdb (have cygwin) and see where this takes us - not sure if the JVM or tomcat6.exe have the symbols to get a meaningful stack trace. As luck would have it, [https://issues.apache.org/bugzilla/show_bug.cgi?id=10565|https://issues.apache.org/bugzilla/show_bug.cgi?id=10565] claims that "shutdown hooks are not supported in a container environment" although there is no such restriction in the servlet spec, which would make this a tomcat issue (it does sound like that tomcat6.exe wrapper is somehow involved). Unfortunately, tomcat does NOT issue the AFTER_STOP_EVENT if killed before it has completed its start-up (it appears its own shutdown hook, which sends the event, is not registered until it has fully come up); thus the need for a shutdown hook (at least, up until it's fully up). A shutdown hook is still required in my case for clean-up after tomcat is completely out of the picture. It sounds like the proper architecture here is to really embed tomcat in an application, and create a shutdown hook at the outer level.
Educate me some more. The above description certainly seems like you are suggesting that both of the following are true.
1. It is not a bug in the VM.
2. The problem, for your implementation, is in how the wrapper terminates the windows service.
Perhaps what is actually happening it that addShutdownHook() is never being called at all? Thus of course any processing of the thread associated with that would never, ever run.
And that happens because you are banging on the stop service so fast that it doesn't actually have time to spin up?

Similar Messages

  • CommandButton actions not getting called when "disabled" element present

    MyObjectForm.jsp contains commandButtons for "add", "update" and "delete" that are enabled/disabled according to the value of the bound id field.
    MyObjectForm.jsp
    <html>
    <body>
    <f:view>
    <h:form id="create">
    <h:inputHidden id="id" value="#{myObjectBean.id}" />
    <h:panelGrid columns="3" border="0">
    Name: <h:inputText id="name"
    requiredMessage="*"
    value="#{myObjectBean.name}"
    required="true"/>
    <h:message for="name"/>
    // other fields
    <h:commandButton id="add"
    value="Add" disabled="#{myObjectBean.id!=0}"
    action="#{myObjectBean.add}"/>
    <h:commandButton id="update"
    value="Update" disabled="#{myObjectBean.id==0}"
    action="#{myObjectBean.update}"/>
    <h:commandButton id="delete"
    value="Delete" disabled="#{myObjectBean.id==0}"
    action="#{myObjectBean.delete}"/>
    <h:commandButton id="delete2"
    value="Delete (no disabled element)"
    action="#{myObjectBean.delete}"/>
    </h:form>
    </f:view>
    </body>
    </html>In its managed bean, MyObjectBean, if an id parameter is found in the request, the record is read from the database and the form is populated accordingly in an annotated @PostConstruct method:-
    MyObjectBean.java
    public class MyObjectBean {
    private int id;
    /** other properties removed for brevity **/
    public MyObjectBean() {
    LOG.debug("creating object!");
    @PostConstruct
    public void init() {
    String paramId = FacesUtils.getRequestParameter("id");
    if(paramId!=null && !paramId.equals("")){
    getById(Integer.parseInt(paramId));
    LOG.debug("init id:"+id);
    }else{
    public String delete(){
    LOG.debug("delete:"+id);
    MyObjectVO myObjectVO = new MyObjectVO();
    ModelUtils.copyProperties(this, myObjectVO);
    myObjectService.removeMyObjectVO(myObjectVO);
    return "";
    public String add(){
    LOG.debug("add");
    MyObjectVO myObjectVO = new MyObjectVO();
    ModelUtils.copyProperties(this, myObjectVO);
    myObjectService.insertMyObjectVO(myObjectVO);
    return "";
    public String update(){
    LOG.debug("update:"+id);
    MyObjectVO myObjectVO = new MyObjectVO();
    ModelUtils.copyProperties(this, myObjectVO);
    myObjectService.updateMyObjectVO(myObjectVO);
    return "";
    public void getById(int id){
    MyObjectVO myObjectVO= myObjectService.findMyObjectById(id);
    ModelUtils.copyProperties(myObjectVO, this);
    /** property accessors removed for brevity **/
    }When no parameter is passed, id is zero, MyObjectForm.jsp fields are empty with the "add" button enabled and the "update" and "delete" buttons disabled.
    Completing the form and clicking the "add" button calls the add() method in MyObjectBean.java which inserts a record in the database. A navigation rule takes us to ViewAllMyObjects.jsp to view a list of all objects. Selecting an item from the ViewAllMyObjects.jsp list, adds the selected id to the request as a paramter and a navigation rule returns us to MyObjectForm.jsp, populated as expected. The "add" button is now disabled and the "update" and "delete" buttons are enabled (id is no longer equal to zero).
    Action methods not getting called
    This is the problem I come to the forum with: the action methods of commandButtons "update" and "delete" are not getting called.
    I added an extra commandButton "delete2" to the form with no "disabled" element set and onclick its action method is called as expected:-
    commandButton "delete2" (no disabled element) - works
    <h:commandButton id="delete2"
    value="Delete (no disabled element)"
    action="#{myObjectBean.delete}"/>Why would "delete2" work but "delete", not?
    commandButton "delete" (disabled when id is zero) - doesn't work
    <h:commandButton id="delete"
    value="Delete" disabled="#{myObjectBean.id==0}"
    action="#{myObjectBean.delete}"/>The obvious difference is the "disabled" element present in one but not the other but neither render a disabled element in the generated html.
    Am I missing something in my understanding of the JSF lifecycle? I really want to understand why this doesn't work.
    Thanks in advance.
    Edited by: petecknight on Jan 2, 2009 1:18 AM

    Ah, I see (I think). Is the request-scoped MyObjectBean instantiated in the Update Models phase? If so then the id property will not be populated at the Apply Request Values phase which happens before this, making the commandButton's disabled attribute evaluate to true.
    Confusingly for me, during the Render Response phase, the id property is+ set, so the expression is false (not disabled) giving the impression that the "enabled" buttons would work.
    So, is this an flaw in my parameter passing and processing code or do you see a work around?

  • BDC-Not getting inserted  when run in 'Display errors- (E)' mode

    Hi,
    I am doing a BDC for FS00 transaction through Call transaction method. The data is getting inserted into the table when i run the BDC program screen by screen through 'Display all screens - (A)' mode and is not getting inserted into the table when i run the BDC program through 'Display errors- (E)' mode.
    What could be the reason for it?

    If you have defined a non-existing screen or field, and error will rise and the transaction will be stoped....
    When your working on 'A' mode, you need to perform an extra "Enter" button press to get rid of that problem....So you better check your Batch catalog and add some "Enter's" when need it -;)
    Greetings,
    Blag.

  • Complete data not getting returned when running IIS (v7.5) commands remotely.

    Hello All,
    I searched quite a number of forums before posting and all that I have come to know is that some have mentioned it to be related to COM. I do not have experience dealing with COM and no idea how I can sort this out. I hope someone can provide guidance on
    these:
    Question 1: Server (2008 R2 Standard) is having 4 websites. Default - Running, WS2 - Stopped, WS3 - Running and WS4 - Running. When I run the command "invoke-command -computername Server1 -Credential domain\User -ScriptBlock
    {import-module 'webAdministration'; get-website}"
    I get this output and then an error:
    name            : Default Web Site
    id              : 1
    serverAutoStart : False
    state           : Stopped
    bindings        : Microsoft.IIs.PowerShell.Framework.ConfigurationElement
    PSComputerName  : Server1
    RunspaceId      : ca8bbb00-4631-4c92-a7c7-3bec8039eaee
    Attributes      : {Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationAttribute}
    ChildElements   : {Microsoft.IIs.PowerShell.Framework.ConfigurationElement
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationElement...}
    ElementTagName  : site
    Methods         : {Microsoft.IIs.PowerShell.Framework.ConfigurationMethod,
                      Microsoft.IIs.PowerShell.Framework.ConfigurationMethod}
    Schema          : Microsoft.IIs.PowerShell.Framework.ConfigurationElementSchema
    The data is invalid. (Exception from HRESULT: 0x8007000D)
        + CategoryInfo          : NotSpecified: (:) [Get-Website], COMException
        + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.IIs.PowerShell.Provider.GetWebsite
       Command
    What I have been able to figure out is that it returns complete data for the Default Website and then throws the error. Tried the same command on another server running 2 websites (both in started state) and same results :(
    Question 2: When the same command "Get-Website" is run locally on the server then only 5 columns show by default; Name, ID, State, Physical Path & Bindings. Why then the command when run remotely returns slightly
    more data?
    PS: I have Win7 x64 on my desktop. Tried the commands from x86 as well as x64 shells and same results.

    Hi Yan,
    When I use Enter-PSSession, it works in the same manner as if the command is run locally. Hence the same output as local.
    I am not sure of the exact way to use [Reflection.Assembly]::LoadFile('C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll') 
    I tried this and get an error:
    invoke-command -Session $session -ScriptBlock invoke-command -Session $session -ScriptBlock {[Reflection.Assembly]::LoadFile('C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll'); get-website}
    Output:
    GAC    Version        Location                                                   PSComputerName
    True   v2.0.50727     C:\Windows\assembly\GAC_MSIL\Microsoft.Web.Administrati... Server1
    The term 'get-website' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
    name, or if a path was included, verify that the path is correct and try again.
        + CategoryInfo          : ObjectNotFound: (get-website:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException
        + PSComputerName        : Server1
    The version of the dll on the server is 6.1.7601.17514
    Thanks

  • Classic JVM hangs when running Tomcat as Windows Service

    Hi!
    I am running a Tomcat 3.2.4 application, written with Java 1.3.1_01.
    To run it as a Windows Service (W2000), I am using a slightly altered version of JavaService, which works fine so far: I can use both the "hotspot" and the "server" JVM's (by selecting the jvm.dll from the respective subfolder of the JDK/jre/bin folder).
    However, when I try to run the same application with the "classic" JVM, the service starts, inside of it Tomcat starts, the first output appears (to the stdout logfile) and after some time Tomcat simply hangs - it doesn't respond to anything anymore, 0% CPU, no output to logfiles anymore, doesn't even respond to normal Tomcat shutdown (e.g. when stopping the service, Windows waits the standard timeout then just kills it).
    Using the classic JVM in a console (e.g. not through JavaService and the classic/jvm.dll) works fine! No problems!
    Anyone here who can offer any help on this?
    Any hints why Tomcat may behave correctly in 5 out of six possible configurations (hotspot-server/client as service or console or classic as console) but hanging with 1 configuration (classic as service)?
    Also, on my W2000 box where this happens, the moment Tomcat hangs, I hear a Windows warning sound being played (the standard warning gong), like it happens when an info dialog pops up - only there is no dialog or whatever and the same moment Tomcat's CPU usage drops to 0% (although the app is still in startup and should do some more work for a few seconds).
    This also doesn't always happen at the same moment during startup, but each time at a different moment, e.g. I can not pin it down to something that is done during startup, it just happens a short while (sometimes earlier, sometimes later) after startup...
    Of course, I could simply say "forget classic, it's being phased out anyway", only: The SAME thing happens with IBM's Java 1.3 VM too (except for the gong sound, which seems to be Sun-JVM specific ;-)! And I would very much like my app to be able to run on IBM's VM (usually I'm using Sun's VMs everywhere, but we have a few stray W2000 boxes with SP2 where Sun's 1.3.1_0x VMs crash with our application [not hang like described above, but really crash, even when run as a console]) and on those boxes the IBM JVM in a console works fine - now I only have to get it working as a service too (and while researching why it hangs I saw that Sun's classic JVM hangs too, so I figured, I first find out why that happens, with the hope that the fix is applicable to IBM's JVM too...).
    Thanks already,
    Johannes

    re setting classpath when using JavaService
    for Win2k, Tomcat 3.3.1a, JDK1.2
    below is my script for creating/installing JavaService
    (based on Alexandria web site version). However, if i
    try to add .jar files to classpath (ie, CP environment
    variable), the service does not work. It only works
    when this single .jar file is there. How can .jar or
    .zip files be added to classpath for this service?
    I've not been working with Tomcar as a service, so can't help directly, but can offer some comments that might be of use (apologies if they aren't!).
    There are Tomcat scripts for V3.1, V3.2 and V4 with the JavaService code from Alexandria SC. Looks like you need one for V3.3 as well?
    In these others, there are fairly long lists of jar files in the classpath, so I would expect it to work correctly for the version you are using (unless there is a problem with the way that classloaders are involved, which is something that is known to get in the way for some app server-based programs).
    I would expect the classpath to work if changed from what you have listed to something like the following:
    set CP=%TOMCAT_HOME%\lib\tomcat.jar;%TOMCAT_HOME%\lib\jaxp.jar;%TOMCAT_HOME$\lib\other_library.jar
    Is that what you have tried to do, and found problems?
    Does this version of Tomcat bundle all of its resources into a single jar file (tomcat.jar), or is that a file you have created yourself?
    Is the problem found when loading and starting Tomcat itself, or from within your server-based application?
    Does it fail to load a 'standard' Tomcat library archive, or a jar file containing your own program code?
    set CP=%TOMCAT_HOME%\lib\tomcat.jar
    echo %CP%
    JavaService.exe -install "Jakarta-Tomcat"
    %java_home%\jre\bin\classic\jvm.dll
    -Djava.class.path=%CP% -Dtomcat.home=%TOMCAT_HOME%
    -Djava.security.policy=%TOMCAT_HOME%/conf/tomcat.policy
    -Xms128m -Xmx128m -start
    org.apache.tomcat.startup.Main -params start -stop
    org.apache.tomcat.startup.Main -params stop -out
    %TOMCAT_HOME%\logs\stdout.log -err
    %TOMCAT_HOME%\logs\stderr.log
    Regards,
    John Rutter

  • Addon installer does not get installed when running BIDE setup

    Hi all
    i've download BIDE version 1.3.
    After running setup the installer projects for VS2005 does not appear in the VS2005. any ideas what could be causing the problem?
    appreciate the help
    Yoav

    I have the same problem,
    pls visit the post:
    Re: B1DE & B1TE for Visual Studio 2005 and .NET Framework 2.0

  • How to make a functions that gets called when the plug in is loaded?

    I'm making an automate plugin, and I want to make a functiosn that gets called when Photoshop loads my plugin. It doen't matter if my plug is never called fro the File->Automate menu. Is there any way to do this? Thank you.
    Daniel

    Hi There,
    I don't believe there is a way to handle this currently within App-V...Other virtualization products do have the ability to exclude processes and force to run outside or the bubble or exclude them from terminating on shutdown.
    It would be a great feature request for a future release. You can easily request it here:
    http://appv.uservoice.com/forums/280448-microsoft-application-virtualization
    PLEASE MARK ANY ANSWERS TO HELP OTHERS Blog:
    rorymon.com Twitter: @Rorymon

  • Issue: Not getting response when the document is having special chars

    Please help following issue: Not getting response when the document is having special chars(Use any doc with special char(ex: &, $, <, >,.....) TestErrorFour.doc
    Error message:
    System.FormatException: Invalid length for a Base-64 char array. at
    System.Convert.FromBase64String(String s) at
    Summarize.Summarizer.AccumulateBroadcast(String filedata, String givenWords) in
    c:\DocumentSummarizer\App_Code\Summarizer.cs:line 66
    Code:
    File 1:
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Properties;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.apache.poi.hwpf.*;
    import org.apache.poi.hwpf.extractor.*;
    import com.lowagie.text.Document;
    import com.lowagie.text.pdf.PRTokeniser;
    import com.lowagie.text.pdf.PdfReader;
    public class DocumentSummarizerClient {
         static Properties loadProperties() {
              Properties prop = new Properties();
              try {
                   prop.load(DocumentSummarizerClient.class.getClassLoader().getResourceAsStream("vep.properties"));
              } catch (Exception ioe) {
                   ioe.printStackTrace();
              return prop;
         public String getSummary(String fileName,String noOfWordsOrPercentage ){
              String summaryInputData ="";
              String summarizedData="";
              String summarizerURL = loadProperties().getProperty("Summarizer.serviceURL");
              try {
                   String fileExtension=fileName.substring(fileName.lastIndexOf(".")+1, fileName.length());
                   if (fileExtension.equalsIgnoreCase("doc")|| fileExtension.equalsIgnoreCase("txt")|| fileExtension.equalsIgnoreCase("pdf")) {
                                  if (fileExtension.equalsIgnoreCase("txt")) {
                                       BufferedReader bufferedReader = new BufferedReader(
                                                 new FileReader(fileName));
                                       String line = null;
                                       while ((line = bufferedReader.readLine()) != null) {
                                            summaryInputData += line;
                                  if(fileExtension.equalsIgnoreCase("doc")){
                                       POIFSFileSystem fs = null;
                                        fs = new POIFSFileSystem(new FileInputStream(fileName));
                                         HWPFDocument doc = new HWPFDocument(fs);
                                         WordExtractor we = new WordExtractor(doc);
                                         String[] paragraphs = we.getParagraphText();
                                         for( int i=0; i<paragraphs .length; i++ ) {
                                            paragraphs[i] = paragraphs.replaceAll("\\cM?\r?\n","");
                                  summaryInputData+= paragraphs[i];
                                  if(fileExtension.equalsIgnoreCase("pdf")){
                                       Document document = new Document();
                   document.open();
                   PdfReader reader = new PdfReader(fileName);
                   int pageCount =reader.getNumberOfPages();
                        for(int i=1;i<=pageCount;i++){
                                  byte[] bytes = reader.getPageContent(i);
                                  PRTokeniser tokenizer = new PRTokeniser(bytes);
                                  StringBuffer buffer = new StringBuffer();
                                  while (tokenizer.nextToken()) {
                                  if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {
                                  buffer.append(tokenizer.getStringValue());
                                  summaryInputData += buffer.toString();
                   else{
                        System.out.println("This is Invalid document. Presntly we support only text,word and PDF documents ");
                   // String encoded =new String (summaryInputData.getBytes("ISO-8859-1"),"UTF-8");
                        String encoded=Base64Utils.base64Encode(summaryInputData.getBytes());
                   // encoded =new String (summaryInputData.getBytes("ISO-8859-1"),"UTF-8");
                        String parameters= "base64String="+encoded+"&noOfWordsOrPercentage="+noOfWordsOrPercentage;
                        summarizedData= postRequest(parameters,summarizerURL);
                        String slength= "<string xmlns=\"http://tempuri.org/\">";
                        if(summarizedData.contains("</string>")){
                        summarizedData= summarizedData.substring(summarizedData.indexOf(slength)+slength.length(),summarizedData.indexOf("</string>"));
                        summarizedData = replaceVal(summarizedData);
                        //System.out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?><![CDATA["+summarizedData+"]]>");
                        // System.out.println("Summarized data "+summarizedData);
                        if(summarizedData.contains("Please enter the percentage")){
                             summarizedData="Data given cannot be summarized further";
                   else{
                        System.out.println("Data given cannot be summarized further");
                        summarizedData="";
              } catch (FileNotFoundException e) {
                   return("The File is not found \n\n"+e.toString());
              } catch (IOException e) {
                   return("The File is already in use \n\n"+e.toString());
              } catch (Exception e) {
                   return(e.toString());
              return summarizedData;
         public static String postRequest(String parameters,String webServiceURL) throws Exception{
              Properties systemSettings = System.getProperties();
              systemSettings.put("http.proxyHost", loadProperties().getProperty("proxyHost"));
         systemSettings.put("http.proxyPort", loadProperties().getProperty("proxyPort"));
         System.setProperties(systemSettings);
              String responseXML = "";
              try {
                   URL url = new URL(webServiceURL);
                   URLConnection connection = url.openConnection();
                   HttpURLConnection httpConn = (HttpURLConnection) connection;
                   byte[] requestXML = parameters.getBytes();
                   httpConn.setRequestProperty("Content-Length", String
                             .valueOf(requestXML.length));
                   httpConn.setRequestProperty("Content-Type",
                             "application/x-www-form-urlencoded");
                   httpConn.setRequestMethod("POST");
                   httpConn.setDoOutput(true);
                   httpConn.setDoInput(true);
                   OutputStream out = httpConn.getOutputStream();
                   out.write(requestXML, 0, requestXML.length);
                   out.close();
                   InputStreamReader isr = new InputStreamReader(httpConn
                             .getInputStream());
                   BufferedReader br = new BufferedReader(isr);
                   String temp;
                   String tempResponse = "";
                   while ((temp = br.readLine()) != null)
                        tempResponse = tempResponse + temp;
                   responseXML = tempResponse;
                   br.close();
                   isr.close();
              } catch (java.net.MalformedURLException e) {
                   System.out
                             .println("Error in postRequest(): Secure Service Required");
              } catch (Exception e) {
                   System.out.println("Error in postRequest(): " + e.getMessage());
              return responseXML;
         public String replaceVal(String value) {
                   if (value == null) {
                        value = "";
                   value = value.replace("&lt;", "<");
                   value = value.replace("&gt;", ">");
                   value = value.replace("&amp;", "&");
                   return value;
              public static void main(String[] args) {  
                   DocumentSummarizerClient testdoc=new DocumentSummarizerClient();
                   System.out.println("hello");               
                   testdoc.getSummary("C:\\working_folder\\vep\\UnitTestCases\\VEP1.0\\DocumentSummarizerTestData\\TestErrorFour.doc","100%");     
    Note: Use any doc with special char(ex: &, $, <, >,.....) TestErrorFour.doc
    File 2:
    ---------public class Base64Utils {
    private static byte[] mBase64EncMap, mBase64DecMap;
    * Class initializer. Initializes the Base64 alphabet (specified in RFC-2045).
    static {
    byte[] base64Map = {
    (byte)'A', (byte)'B', (byte)'C', (byte)'D', (byte)'E', (byte)'F',
    (byte)'G', (byte)'H', (byte)'I', (byte)'J', (byte)'K', (byte)'L',
    (byte)'M', (byte)'N', (byte)'O', (byte)'P', (byte)'Q', (byte)'R',
    (byte)'S', (byte)'T', (byte)'U', (byte)'V', (byte)'W', (byte)'X',
    (byte)'Y', (byte)'Z',
    (byte)'a', (byte)'b', (byte)'c', (byte)'d', (byte)'e', (byte)'f',
    (byte)'g', (byte)'h', (byte)'i', (byte)'j', (byte)'k', (byte)'l',
    (byte)'m', (byte)'n', (byte)'o', (byte)'p', (byte)'q', (byte)'r',
    (byte)'s', (byte)'t', (byte)'u', (byte)'v', (byte)'w', (byte)'x',
    (byte)'y', (byte)'z',
    (byte)'0', (byte)'1', (byte)'2', (byte)'3', (byte)'4', (byte)'5',
    (byte)'6', (byte)'7', (byte)'8', (byte)'9', (byte)'+', (byte)'/'};
    mBase64EncMap = base64Map;
    mBase64DecMap = new byte[128];
    for (int i=0; i<mBase64EncMap.length; i++)
    mBase64DecMap[mBase64EncMap[i]] = (byte) i;
    * This class isn't meant to be instantiated.
    private Base64Utils() {
    * Encodes the given byte[] using the Base64-encoding,
    * as specified in RFC-2045 (Section 6.8).
    * @param aData the data to be encoded
    * @return the Base64-encoded <var>aData</var>
    * @exception IllegalArgumentException if NULL or empty array is passed
    public static String base64Encode(byte[] aData) {
    if ((aData == null) || (aData.length == 0))
    throw new IllegalArgumentException("Can not encode NULL or empty byte array.");
    byte encodedBuf[] = new byte[((aData.length+2)/3)*4];
    // 3-byte to 4-byte conversion
    int srcIndex, destIndex;
    for (srcIndex=0, destIndex=0; srcIndex < aData.length-2; srcIndex += 3) {
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex] >>> 2) & 077];
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+1] >>> 4) & 017 |
    (aData[srcIndex] << 4) & 077];
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+2] >>> 6) & 003 |
    (aData[srcIndex+1] << 2) & 077];
    encodedBuf[destIndex++] = mBase64EncMap[aData[srcIndex+2] & 077];
    // Convert the last 1 or 2 bytes
    if (srcIndex < aData.length) {
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex] >>> 2) & 077];
    if (srcIndex < aData.length-1) {
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+1] >>> 4) & 017 |
    (aData[srcIndex] << 4) & 077];
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex+1] << 2) & 077];
    else {
    encodedBuf[destIndex++] = mBase64EncMap[(aData[srcIndex] << 4) & 077];
    // Add padding to the end of encoded data
    while (destIndex < encodedBuf.length) {
    encodedBuf[destIndex] = (byte) '=';
    destIndex++;
    String result = new String(encodedBuf);
    return result;
    * Decodes the given Base64-encoded data,
    * as specified in RFC-2045 (Section 6.8).
    * @param aData the Base64-encoded aData.
    * @return the decoded <var>aData</var>.
    * @exception IllegalArgumentException if NULL or empty data is passed
    public static byte[] base64Decode(String aData) {
    if ((aData == null) || (aData.length() == 0))
    throw new IllegalArgumentException("Can not decode NULL or empty string.");
    byte[] data = aData.getBytes();
    // Skip padding from the end of encoded data
    int tail = data.length;
    while (data[tail-1] == '=')
    tail--;
    byte decodedBuf[] = new byte[tail - data.length/4];
    // ASCII-printable to 0-63 conversion
    for (int i = 0; i < data.length; i++)
    data[i] = mBase64DecMap[data[i]];
    // 4-byte to 3-byte conversion
    int srcIndex, destIndex;
    for (srcIndex = 0, destIndex=0; destIndex < decodedBuf.length-2;
    srcIndex += 4, destIndex += 3) {
    decodedBuf[destIndex] = (byte) ( ((data[srcIndex] << 2) & 255) |
    ((data[srcIndex+1] >>> 4) & 003) );
    decodedBuf[destIndex+1] = (byte) ( ((data[srcIndex+1] << 4) & 255) |
    ((data[srcIndex+2] >>> 2) & 017) );
    decodedBuf[destIndex+2] = (byte) ( ((data[srcIndex+2] << 6) & 255) |
    (data[srcIndex+3] & 077) );
    // Handle last 1 or 2 bytes
    if (destIndex < decodedBuf.length)
    decodedBuf[destIndex] = (byte) ( ((data[srcIndex] << 2) & 255) |
    ((data[srcIndex+1] >>> 4) & 003) );
    if (++destIndex < decodedBuf.length)
    decodedBuf[destIndex] = (byte) ( ((data[srcIndex+1] << 4) & 255) |
    ((data[srcIndex+2] >>> 2) & 017) );
    return decodedBuf;
    issue 2: Exception when passing 2MB .txt file
    Steps to reproduce:
    Call getSummary() with 2MB .txt file
    Actual:
    The following exception has occured:
    1. Error in postRequest(): Unexpected end of file from server
    java.lang.NullPointerException
    Please provide your precious feedback/suggestions.
    Thanks in advance…..
    Edited by: EJP on 15/03/2011 16:52: added code tags. Please use them. Code is unreadable otherwise.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

    Thanks for your response….
    This is enhancement project and some one develops long back.
    Regarding point (b) You should be using the java.net.URLEncoder to encode URL parameters, not a base64 encoder.
    DocumentSummarizerClient.java I am using base64
    Ex:
    // String encoded =new String (summaryInputData.getBytes("ISO-8859-1"),"UTF-8");
                        String encoded=Base64Utils.base64Encode(summaryInputData.getBytes());
                   // encoded =new String (summaryInputData.getBytes("ISO-8859-1"),"UTF-8");
                        String parameters= "base64String="+encoded+"&noOfWordsOrPercentage="+noOfWordsOrPercentage;
                        summarizedData= postRequest(parameters,summarizerURL);
                        String slength= "<string xmlns=\"http://tempuri.org/\">";
                        if(summarizedData.contains("</string>")){
                        summarizedData= summarizedData.substring(summarizedData.indexOf(slength)+slength.length(),summarizedData.indexOf("</string>"));
                        summarizedData = replaceVal(summarizedData);
                        //System.out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?><![CDATA["+summarizedData+"]]>");
                        System.out.println("Summarized data "+summarizedData);
                        if(summarizedData.contains("Please enter the percentage")){
                             summarizedData="Data given cannot be summarized further";
    Above specific please I need to modify to resolve above issue.
    Could you please suggest me what changes I need to do.
    Waiting for positive response.

  • ReturnEvent not get called after search more than 10 times in LOV page

    hi there,
    I using ADF and Jdeveloper 10.3.1.2
    In my project I have a form which called a LOV page for selecting multiple records and submit button sumup the values of each selected row of LOV and return to the main form and display added value on text field.
    problem is when I search records more than 10 times or more I put search criteria and select row on each time. After click on submit the value of each row is sum up return on the main form but it not reflected on main form because ReturnListener not get called .
    But when I select many rows more than 10 without searching then the ReturnListener get called when it returning on main form.
    So should I do so that ReturnListener get called.
    Is it any bug of ADF or Jedeveloper .

    Hi,
    depends on whether you control the BPM task flow or not. If you do, have a look at this thread for how to debug the problem
    How to debug "Attempt to validate an already invalid RegionSite"?
    Otherwise, post it to the SOA forum if this is initiated by their generated code. The most common reason though is that the task flow lacks a default activity. So if the default activity is somewhat calculated dynamically in your application then this may be a reason
    Frank

  • Bookmark method for a page is not getting called

    Hi,
    I am developing a simple ADF application which contains two jspx pages, in JDEVELOPER 11g (build JDEVADF_MAIN_GENERIC_080910.1420.5124).
    I have a commandLink in Page1 which takes me to the Page2.I have a bookmark method for Page2, which gets called when I load the page.
    When I access the Page2 directly,the corresponding bookmark method is getting called.But when I navigates it through commandLink provided in Page1,the bookmark method is not getting called.
    Page1.jspx:
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document maximized="true">
    <af:form>
    <af:commandLink text="Go to Page2" action="page2" />
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    Page2.jspx:
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:bib="http://xmlns.oracle.com/dss/adf/faces">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    <f:view>
    <af:document maximized="true">
    <af:form>
    <af:outputText value="This is Page2"/>
    </af:form>
    </af:document>
    </f:view>
    </jsp:root>
    adfc-config.xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
    <view id="page1">
    <page>/page1.jspx</page>
    </view>
    <view id="page2">
    <page>/page2.jspx</page>
    <bookmark>
    <method>#{mBean.bookMarkMethod}</method>
    </bookmark>
    </view>
    <control-flow-rule>
    <from-activity-id>page1</from-activity-id>
    <control-flow-case>
    <from-outcome>page2</from-outcome>
    <to-activity-id>page2</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <managed-bean>
    <managed-bean-name>mBean</managed-bean-name>
    <managed-bean-class>view.ManagedBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    </adfc-config>
    ManagedBean.java:
    public class ManagedBean {
    public ManagedBean() {
    super();
    public void bookMarkMethod() {
    System.out.println("Inside bookmark method");
    Please look into this...........

    Hi Frank,
    I need to provide the af:commandLink inside af:table component and the values which I pass to page2 depends on the row I select at runtime.
    so,I am trying to use ad:setActionListener inside af:commandLink.
    If I use FacesContext.getCurrentInstance.getExternalContext.redirect() inside the actionListener of af:commandLink, I need to extract all the required values in the actionListener.
    Isn't there any way so that, I can pass the values using af:setActionListener inside af:commandLink and a method ( which will initialise the managed bean) will be called when page2 loads ???
    Regards,
    Lokesh.

  • Mediator 11.1.1.5 faults Java Handler not getting called fault-policies

    Hi,
    I have a Oracle SOA 11.1.1.5 Mediator and am handling the faults using fault policies but somehow custom java handler is not invoked when an error occurs and this is what I see in the log but somehow my custom java handler class is not getting called.
    INFO: FaultPoliciesParser.parsePolicies ------->Begin Parsing of policy file
    <Apr 16, 2012 10:30:17 PM EDT> <Error> <oracle.soa.mediator.common.listener> <BE
    A-000000> <Enququeing to Error hospital successful...>Here is the fault-policies.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <faultPolicies xmlns="http://schemas.oracle.com/bpel/faultpolicy">
      <faultPolicy version="2.0.1" id="medFaultHandling"
                   xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   xmlns="http://schemas.oracle.com/bpel/faultpolicy"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <Conditions>
          <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
                     name="bpelx:remoteFault">
            <condition>
              <action ref="java-fault-handler"/>
            </condition>
          </faultName>
          <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
                     name="bpelx:bindingFault">
            <condition>
              <action ref="java-fault-handler"/>
            </condition>
          </faultName>
          <faultName xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
                     name="bpelx:runtimeFault">
            <condition>
              <action ref="java-fault-handler"/>
            </condition>
          </faultName>
        </Conditions>
        <Actions>
          <Action id="java-fault-handler">
            <javaAction className="com.mediator.faults.CustomMediatorFaultHandler"
                        defaultAction="ora-human-intervention" propertySet="myMediatorProps">
              <returnValue value="OK" ref="ora-human-intervention"/>
            </javaAction>
          </Action>
          <Action id="ora-human-intervention">
            <humanIntervention/>
          </Action>
          <Action id="ora-rethrow-fault">
            <rethrowFault/>
          </Action>
          <Action id="ora-retry">
            <retry>
              <retryCount>3</retryCount>
              <retryInterval>15</retryInterval>
              <exponentialBackoff/>
              <retryFailureAction ref="java-fault-handler"/>
            </retry>
          </Action>
        </Actions>
        <Properties>
          <propertySet name="myMediatorProps">
            <property name="logFileName">mediator-faults.log</property>
            <property name="logFileDir">C:/software</property>
          </propertySet>
        </Properties>
      </faultPolicy>
    </faultPolicies>Here is my the fault-bindings.xml:
    <?xml version="1.0" encoding="UTF-8" ?>
    <faultPolicyBindings version="2.0.1"
                         xmlns="http://schemas.oracle.com/bpel/faultpolicy"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <composite faultPolicy="medFaultHandling"/>
    </faultPolicyBindings>And here is the snippet of composite.xml where I put the below properties:
    <component name="Router">
        <implementation.mediator src="Router.mplan"/>
        <property name="oracle.composite.faultPolicyFile">fault-policies.xml></property>
        <property name="oracle.composite.faultBindingFile">fault-bindings.xml></property>
      </component>But when the exception occurs I don't see my custom Java Handler being invoked. As I created a jar file and placed it in
    *<Middleware_Home>\Oracle_SOA1\soa\modules\oracle.soa.mediator_11.1.1*
    and updated oracle.soa.mediator.jar manifest by putting the path of the jar file. Restarted the servers but still when an exception occurs in Mediator custom java handler is not invoked. Any ideas what I am missing or are there any special steps
    Thanks

    There is no point in retry on binding fault, rather you can raise it as exception and catch it in sepcific catch block or catch all will handle it.
    Ideally this particular instance will be faulted and if required you can customize to send a mail with fault string to developer or support person or dba
    This type of fault need human intervension to fix this code or it could be data issue.
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Vijay

  • Method in custom controller not getting called from view

    Hi experts,
    I have a very strange problem. My web dynpro application works fine on the development portal. i am in the process of deploying to the production portal there is no issue it deploys perfectly without any problems. However i have noticed that some methods in my custom controlller which are called from the view do not run. there is no error message or anything data just doesnt get picked because the execute function which fills the context are in the custom controller methods.
    For some reason the method in the custom controller does not get called even though i'm calling it for the view. I have this problem with two methods. the other methods work without any issue.
    Now i overwrote what i have on production at the moment so am stuck and in need for a solution.
    I have tried undeplying, restarting and re-deploying to no avail. what could be wrong?
    thanks and regards,
    dilanke

    Deal all
    This is the code. basically im calling it from the plug on the detail screen.
    This is the method that doesnt get called anymore.
    wdThis.wdGetGetPurchaseOrderCustController().getPODetail();
    The reportSuccess() works fine.
    regards,
    Dilanke
      public void onPlugFromListView(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent )
        //@@begin onPlugFromListView(ServerEvent)
         try
             String po = wdThis.wdGetGetPurchaseOrderCustController().wdGetContext().currentContextElement().getPO_Id();
              wdContext.currentZGETPODETAILS_INPUTElement().setI_Ebeln(po);
              wdThis.wdGetGetPurchaseOrderCustController().getPODetail();
              wdComponentAPI.getMessageManager().reportSuccess(po);
              String fileName = "F://XML_Downloads//" + po + ".xml";
              IWDResource resource = WDResourceFactory.createResource(new FileInputStream(new File(fileName)),fileName,WDWebResourceType.XML,true);
              wdContext.currentContextElement().setXml_Resource(resource);
         catch(Exception e)
              e.printStackTrace();     
        //@@end

  • Task in Lookup.USR_PROCESS_TRIGGERS not getting  called

    Hi,
    We have created a process task adapter and copied this in Lookup.USR_PROCESS_TRIGGERS. This adapter works only when some change happens in User Form in a particular field (say First name).This adapter is not getting called for the users who are created through Bulk Upload. Although it is getting called when I am creating a user manually.
    Regards,
    Shubhra

    This the issue with 11.1.1.5 version of OIM. It doesn't trigger on trusted recon. install BP02 for resolving this issue. We had resolved this by installing this patch
    --nayan                                                                                                                                                                                                                                                                                                                                                                   

  • Get method of HtmlPanelGrid is not getting called

    Hi,
    I'm creating components dynamically.
    I have a dropdown. Based on the selection of dropdown, the corresponding values are displayed and the get method of HtmlPanelGrid should be called.
    First time the panel grid getmethod is getting called. But when i change the value of drop down, panel grid get method is not getting called and its not rendering.
    This is the code:
    JSF:
    Drop Down
    <h:panelGroup>
    <t:selectOneMenu id="selectProjectTypes" onchange="sbmitform();" immediate="true" valueChangeListener="#{ProjectController.projectTypeChanged}" value="#{ProjectController.project.selectProjectTypes}">
    <f:selectItem itemLabel="--------------------" itemValue="-1"/>
    <f:selectItems value="#{ProjectController.projectTypesList}"/>
    </t:selectOneMenu>
    </h:panelGroup>
    Panel Grid
    <h:panelGrid columns="2" rendered="#{ProjectController.projects}" id="test" binding="#{ProjectController.defaultValues}" columnClasses="hunderadfifty" cellpadding="5" />
    Controller:
    public void projectTypeChanged(ValueChangeEvent event) throws AbortProcessingException,Exception {
    String nodeTypeId = null;
    String selectedValue = (String)event.getNewValue();
    getSessionCache().addValue("test", 0, "1");
    if(selectedValue.equalsIgnoreCase(selectedValue)){
    try
    // this.getDefaultValues().setRendered(true);
    // defaultValues=this.getDefaultValues();
    } catch (Exception e)
    e.printStackTrace();
    FacesContext.getCurrentInstance().renderResponse();
    Panel Grid Method
    *public HtmlPanelGrid getDefaultValues() throws Exception {*
    String devlues = (String)getSessionCache().getValue("test");
    Application app = FacesContext.getCurrentInstance().getApplication();
    labelList = nodeTypeFieldsService.getFixedFields(this.getRpUserData(), this.getAuthUser());
    HtmlPanelGrid panelGrid = (HtmlPanelGrid)app.createComponent(HtmlPanelGrid.COMPONENT_TYPE);
    for(int i = 0; i<labelList.size(); i++)
    HtmlOutputText heading = (HtmlOutputText)app.createComponent(HtmlOutputText.COMPONENT_TYPE);
    HtmlPanelGroup panelGroup = (HtmlPanelGroup)app.createComponent(HtmlPanelGroup.COMPONENT_TYPE);
    HtmlInputText inputText = (HtmlInputText)app.createComponent(HtmlInputText.COMPONENT_TYPE);
    String fieldHeading =((ProjectField)labelList.get(i)).getFieldHeading();
    int fieldLength = ((ProjectField)labelList.get(i)).getFieldLength();
    String fieldDescription = ((ProjectField)labelList.get(i)).getFieldDescription();
    String fieldType = ((ProjectField)labelList.get(i)).getFieldType();
    inputText.setValueBinding("value", (ValueBinding) app.createValueBinding("#{ProjectController.newProj}"));
    if(fieldType.equalsIgnoreCase("3"))
    heading.setValue(fieldHeading);
    heading.setTitle(fieldDescription);
    inputText.setMaxlength(fieldLength);
    inputText.setSize(fieldLength);
    UIRDDialog dialog = (UIRDDialog)app.createComponent(UIRDDialog.COMPONENT_TYPE);
    dialog.setTitle("Object Type Dialog");
    dialog.setHeight("370");
    dialog.setWidth("350");
    dialog.setUrl("searchObjectTypeDialog.jsf");
    UIRDIconButton iconButton = (UIRDIconButton)app.createComponent(UIRDIconButton.COMPONENT_TYPE);
    iconButton.setType("button");
    iconButton.setTitle("Search for Object Types");
    iconButton.setIcon("/image/icon/portalicon_search.gif");
    iconButton.setActivateDialog("searchObjectTypeDialog");
    panelGroup.getChildren().add(inputText);
    panelGroup.getChildren().add(iconButton);
    panelGroup.getChildren().add(dialog);
    panelGrid.getChildren().add(panelGroup);
    }else
    panelGroup.getChildren().add(inputText);
    heading.setValue(fieldHeading);
    inputText.setMaxlength(fieldLength);
    inputText.setSize(fieldLength);
    heading.setTitle(fieldDescription);
    panelGrid.getChildren().add(panelGroup);
    panelGrid.getChildren().add(heading);
    panelGrid.getChildren().add(panelGroup);
    HtmlCommandButton createButton = (HtmlCommandButton)app.createComponent(HtmlCommandButton.COMPONENT_TYPE);
    createButton.setId("create");
    createButton.setTitle("Create");
    createButton.setValue("Skapa");
    createButton.setAction(app.createMethodBinding("#{ProjectController.saveProject}", null));
    HtmlCommandButton backButton = (HtmlCommandButton)app.createComponent(HtmlCommandButton.COMPONENT_TYPE);
    backButton.setId("back");
    backButton.setTitle("Cancel");
    backButton.setValue("Avbryt");
    backButton.setAction(app.createMethodBinding("#{ProjectController.cancel}", null));
    panelGrid.getChildren().add(createButton);
    panelGrid.getChildren().add(backButton);
    return panelGrid;
    /* } else {
    return null;
    kindly help me out.
    regards
    venkatraman.P

    Hi,
    I'm having the exact same problem, and it's freaking me out!!! The setGridPanel method is always called but not the getGridPanel. This one is only called the first time the page is rendered, and when I change a drodpdownlist it never gets the gridPanel again! I'm using an HtmlPanelGrid. Anyone can help please?
    Thanks in advance,
    Raquel

  • PERFORM Statement is not getting called

    PERFORM Statement is not getting called in Z-copy of standard SAP script F110_PRENUM_CHCK.
    On debugging the code i am not getting any value in all changing parameters.
    and when debugger cursor comes to PERFORM statement then on Pressing F5 it goes to next line and ultimate result is
    that i don't get any value in generated form.
    I had used follwing perform in my script ZF110_PRENUM_CHC which is copy of  F110_PRENUM_CHCK.
    DEFINE &ZDOCNUM& = &SPACE&
    DEFINE &ZDOCNUM2& = &SPACE&
    DEFINE &ZAMOUNT_BSAK& = &SPACE&
    DEFINE &ZAMOUNT_BSIK& = &SPACE&
    DEFINE &ZVNDR_INVREF_BSAK& = &SPACE&
    DEFINE &ZVNDR_INVREF_BSAK& = &SPACE&
    PERFORM ZFI_PRENUM_GSF IN PROGRAM ZFI_PRENUM
    USING &REGUH-VBLNR&
    USING &REGUH-RBETR&
    USING &REGUP-SKFBT&
    USING &REGUD-WRBTR&
    USING &LFA1-LIFNR&
    CHANGING &ZDOCNUM&
    CHANGING &ZDOCNUM2&
    CHANGING &ZAMOUNT_BSAK&
    CHANGING &ZAMOUNT_BSIK&
    CHANGING &ZVNDR_INVREF_BSAK&
    CHANGING &ZVNDR_INVREF_BSIK&
    ENDPERFORM.
    PROTECT
    &ULINE&
    DOCUMENT NUMBER     AMOUNT(RS.)     VENDOR INVOICE REFERENCE     DEDUCTIONS
    &ZDOCNUM&     &ZAMOUNT_BSAK&     &ZVNDR_INVREF_BSAK&     &ZDED_AMT&
    &ULINE&
    Edited by: Ajay84 on Nov 24, 2011 2:32 PM

    Hi,
    when you are using SAP SCRIPT debugger, on perform statement it doesn't go to the FORM in the program.
    The reason is the FORM should be debugged in ABAP debugger.
    So put a break point in the FORM which you want to debug and then execute the transaction. That will take you to the form in you r program.
    Hope this helps..
    Regards,
    -Sandeep

Maybe you are looking for

  • Network icons in menu bar depending on location?

    I have two network locations set up; Home where I use a wireless network and Mobile where I use my mobile phone as a modem. Is it possible to specify which network status icons I want displayed in the menu bar depending on which location I choose? Fo

  • Problem with importing a show

    I'm very new to using iMovie. I've read some instructions and guides but nothing seems to explain it. I want to import a show that I downloaded, it is .avi. It's about 22 minutes long. It finished importing but came out white, completely blank. Am I

  • Satelite C660 refuses to shut down

    Hi all, hope someone can help, my laptop is refusing to shut down and I've no idea why. Anyone have any suggestions? Thanks

  • BAPI to create a credit memo request

    Is there a standard BAPI that can create a credit memo request? If not, then can we copy a standard BAPI to a Z-version and amend that? Sample code appreciated. Thanks, John

  • "Ordered" Quantity Wrong in Item Master

    I have a client that found the "ordered" quantity in the item master is incorrect for a specific item.  After some research, I have found that this is the scenario that caused it: 1.) Production Order created with planned quantity of 1. 2.) Reported