Custom tag - unable to find setter method error

I see this compileException on IAS but not on BEA app server and iWS.
JSPProvider.processJSPFile(): jsp=searchContent.jsp, org.apache.jasper.compiler.CompileException
Unable to find setter method for attribute: input
The reason is because the custom tag has a setInput() that takes a String parameter while the getInput() returns an InputStream.
Should both get and set methods have the same type of parameters or is this a due to a bug in the app server ?

I see this compileException on IAS but not on BEA app
server and iWS.
JSPProvider.processJSPFile(): jsp=searchContent.jsp,
org.apache.jasper.compiler.CompileException
Unable to find setter method for attribute: input
The reason is because the custom tag has a setInput()
that takes a String parameter while the getInput()
returns an InputStream.
Should both get and set methods have the same type of
parameters or is this a due to a bug in the app server
I was only going off info from the original post. The error specifically states "Unable to find setter method for attribute: input" with a lower case i for the input attribute. You also specifcally stated "The reason is because the custom tag has a setInput()" with a capital I for the setInput method. This would most definitely cause the error you were receiving. That is unless you corrected this between your original post and your followup testing.
Cliff

Similar Messages

  • Unable to find setter method for attribute:

    I am using Jboss jboss-4.2.3.GA, JDK 1.6.
    I am trying to deploy our application on Jboss. When loading sources page or whenever we try to load the taglib we are getting the following error.
    org.apache.jasper.JasperException: jspfile.jsp(67,1) Unable to find setter method for attribute: collection
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2736)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2965)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2169)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1689)
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2388)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2394)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2338)
    at org.apache.jasper.compiler.Generator.generate(Generator.java:3374)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:336)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
    at com.ssmb.common.servlets.GenericControllerServlet.service(GenericControllerServlet.java:639)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)
    The line corresponding in JSP file is ,
    <ssmb:list name="src_" collection="sources" showAll='<%= "" + true %>'>
    Please let me know if you have faced this issue before.

    Have you written this tag in a tld or a tag file?
    How have you declared the attribute "collection"?
    Does the class which implements the custom tag <ssmb:list> have a method in it: public void setCollection(String collection) ?

  • Unable to find setter method

    Hi,
    Can anyone tell me how to overcome the error
    /tags/DBConnectionTest.jsp(8,0) Unable to find setter method for attribute: connection
    I get this error when i try to test a custom tag through a jsp. My jsp for testing the custom tag(s) is like this
    DBConnectionTest.jsp
    <%@ taglib uri="http://www.bidla.com/db-taglib" prefix="db" %>
    <db:connection id="conn" url="jdbc:odbc:bidla2">
         <db:userId>apj100</db:userId>
         <db:password>amithpj</db:password>
    </db:connection>
    <db:query id="getAllRows" connection="conn">Select name from events</db:query>
    I think there is some problem with the query tag because the jsp runs fine if i remove the line containing query tag. The query tag represents QueryTagHandler.java. Is there anything extra that i need to add to it.
    Waiting for reply,
    Thank You !

    I am having the same problem.
    In my jsp I have:
    <db:query id="eventsForDay" connection="conn">
    SELECT name, description, start_date FROM Events
    WHERE EXTRACT(MONTH FROM start_date) = <%= month%>
    AND EXTRACT(YEAR FROM start_date) = <%= year%>
    AND EXTRACT(DAY FROM start_date) = <%= day%>
    ORDER BY EXTRACT(HOUR FROM start_date), EXTRACT(MINUTE FROM start_date)
    </db:query>
    My .tld file contains:
    <tag>
    <name>query</name>
    <tagclass>station.auction.db.taglib.QueryTagHandler</tagclass>
    <teiclass>station.auction.db.taglib.QueryTagExtraInfo</teiclass>
    <bodycontent>JSP</bodycontent>
    <info>Specifies a SQL query</info>
    <attribute>
    <name>id</name>
    <required>true</required>
    </attribute>
    <attribute>
    <name>connection</name>
    <required>true</required>
    </attribute>
    </tag>
    And the handler is :
    public class QueryTagHandler extends BodyTagSupport {
         private Connection con=null;
    private String id=null;
    private String test=null;
    public int doAfterBody() throws JspException {
         try {
              String query = getBodyContent().getString();
              System.out.println("[QueryTagHandler] doAfterBody, Query Body-> " + getBodyContent().getString());
              Statement stmt = getConnection().createStatement();
              ResultSet rs = stmt.executeQuery(query);
              this.pageContext.setAttribute(getId(), rs, pageContext.PAGE_SCOPE);
         } catch (Exception exc) {
              throw new JspException(exc.getMessage());
         return SKIP_BODY;
    public Connection getConnection() {
         return this.con;
    public void setConnection(String connection)
         this.con = (Connection)pageContext.findAttribute(connection);
    //System.out.println("[QueryTagHandler] setConnection, Attribute-> " + connection);
         //System.out.println("[QueryTagHandler] Connection : " + con);
    The error is : Unable to find setter method for attribute : connection
    What could be the problem ?????!!!!!!! I've googled for 2 days continuously and - no answer ... Can anyone help ?

  • Unable to find setter method for attribute: forceIdIndexFormula

    When I try to use advanced dataTable tag and in particular the given property - I get the error.
    What could it be?

    In older versions of my faces "forceIdIndexFormula" , is not defined. So it errors out when u try to use it, since it doesnt know what forceIdIndexFormula is all about.
    When u try to assign a value to a attribute it will call its corresponding setter method. Since it is not found it errors out.
    The solution is you have to make use of the latest myfaces version which supports the forceIdIndexFormula attribute in the datatable.
    Thanks

  • Error : cannot find setter method....

    hi i am using Ant 1.6 and struts framework .....to run a simple program to print a name
    i have followed all the basic steps ....to create a struts application
    now the problem is
    when i am trying to acces the applicatin it is giving
    org.apache.jasper.JasperException: /index.jsp(9,2) Unable to find setter method for attribute: name
    the form tag in index.jsp is
    <html:form action="Name"name="nameForm" type="NameForm">
    the bean is
    package com;
    //import statements
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    public class NameForm extends ActionForm {
    String name = null;
    public String getName() {
        return name;
      public void setName(String name) {
        this.name = name;
      public void reset(ActionMapping mapping, HttpServletRequest request) {
        this.name = null;
    }  the struts-config.xml file...
    <?xml version="1.0" encoding="ISO-8859-1" ?>
        <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://struts.apache.org/dtds/struts-config_1_3.dtd">
        <struts-config>
         <form-beans>
         <form-bean name="nameForm" type="com.NameForm"/>
         </form-beans>
         <action-mappings>
         <action path="/Name"
                   type="com.NameAction"
                   name="nameForm"
                   input="/index.jsp">
                   <forward name="success" path="/displayname.jsp"/>
                   <forward name="failure" path="/index.jsp"/>
         </action>
         </action-mappings>
        </struts-config>
       thanks....in advance

    Hal-.- wrote:
    I downloaded Lucene from its homepage, I have tried Lucene 2.3.0 and Lucene 2.2.0, but same errors occurs which is cannot find symbol method Text.
    I checked class Field under Lucene, it doesn't have Text function. Well there you go. You can't call methods that don't exist.
    What should I do to add two Fields "path" & "contents" into Document?It seems very likely that the object that represents an indexed document, has some way to express the concepts of "path" and "contents". You should probably just read the docs some more.
    But other than that I have no idea. Ask on a Lucene forum.

  • Unable to find file "ConfigureClusterNode" error

    Hi All
    I am trying to install UCM Cluster. According to Universal Content Management Cluster Configuration Guide for UNIX 10g Release 3 (10.1.3.3.1)
    I can do this running Installer with some parameters, but I have Unable to find file "ConfigureClusterNode" error.
    (http://download-west.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/documentation/integrator/install_cserver_unix_10en.pdf)
    [wc@hostname linux]$ ./Installer -set-ClusterNodeIntradocDir=/home/wc/cluster/node1 -set-ClusterNodeName=node1 -set-ClusterNodeAddress=10.33.33.33 -set-ClusterBinDirRule=local ConfigureClusterNode ConfigureAdminClusterNode
    Unable to find file "ConfigureClusterNode".
    The file wait.dat wasn't removed.
    I need help to identify and solve the problem.

    Hi, and a warm welcome to the forums!
    Forgive me, I'm about to go for a psychic cure here and pull a rabbit out of the hat, or is it a needle from a haystack!?
    I'm thinking that if this remote volume was like SMB/MS-DOS/Fat32, that the "caseness" may be the problem... here's why... Uppercase may translate to be shown either Capitalized or lowercase on the other end, and although Fat32 is supposed to be/ and in fact IS Case Sensitive, many things along the way may almost rightfully expect Uppercase 8/3 format, and "Testing.df1" may show as "Testing.df1", but also "TESTING.DF1", and "testing.df1" might show as "Testing.df1", but behind the scenes it's back to reality.
    Might be the most nothingness I've ever pulled out of thin air!?

  • "unable to find root device" error with linux-lts

    Hi all,
    I'm having a problem with booting linux-lts after a recent upgrade (3.14.39-1 -> 3.14.43-2). In particular, I get an "unable to find root device" error.
    I have look at other threads for potential solutions; I have tried a) re-installing linux-lts, b) adding 'block' before 'autodetect' in mkinitcpio.conf before the re-installation, and c) changing /dev/sdb4 (my root partition) in syslinux.cfg to UUID and PARTUUID. I still get the same error.
    In the emergency shell, running 'blkid' does not show the root partition in the output.
    If I boot from the latest kernel (4.0.4-2), it all boots fine.
    Does anybody have any ideas on anything I could try to get linux-lts to boot? I'd prefer to stay with the lts kernel if possible.

    KangarooLemonade wrote:I ran through the beginner's guide to installing Arch on the wiki and installed Arch onto an external USB hard drive.
    Yeah? And did you see this: https://wiki.archlinux.org/index.php/Be … nvironment ?
    Here you need to set the right hooks if the root is on a USB drive, if you use RAID, LVM, or if /usr is on a separate partition.
    No, of course you missed it...
    Boot your install using the Fallback entry. If you do not have a Fallback entry, press Tab (for Syslinux) or "e" (for GRUB) and rename it initramfs-linux-fallback.img. After it boots, open up a terminal and run:
    # nano /etc/mkinitcpio.conf
    <add "usb" to the HOOKS line>
    # mkinitcpio -p linux
    # reboot
    And don't forget to mark it as solved.
    Last edited by DSpider (2012-10-01 20:11:04)

  • "Unable to find channel ID" error.

    Hello experts,
    We are building an IDOC->XI->JMS scenario.
    Sending the IDOC gets it into the XI and it is visible inside the SXMB_MONI. Looking at a trace level 3 on the trace section of the message you can see that all pipeline activities are performed as normal.
    The last action of the Outbound Binding is successful and the correct Communication channel name (from the Receiver Agreement) is displayed in the trace - meaning was selected.
    Looking in the RWB on the details of the message show that:
    - message was received from http://xiserver:50000/MessagingSystem/receive/AFW/XI
    - The message goes in and out of the receive queue.
    - the message status set to DLNG
    - Unable to find channel ID.
    - ... error stuff..
    This Channel ID error is the one who causes us trouble.
    Looking at the same place for a PROXY->XI->JMS scenario shows that the correct channel is selected. this channel is the channel in the receiver determination - the name only exists there so it doesn't relate to any other channel (like MQ channel).
    Could really use help finding this problem source or activating J2EE traces the could point to what's wrong.
    Thank's - Yoad.

    Hi,
    One thing which could be wrong is the cache. Try in the IB:Directory to see if all things have been succesfully committed to the CPA.
    Then try to refresh the CPA cache. http://xiserver:50000/CPACache/refresh?mode=full (Login as XIDIRUSER)
    If you are on SP 12, you could use NW administrator on http://xiserver:50000/nwa -> select Monitoring -> Logs and traces and in the blank dropdownbox select Default trace.
    Hope this helps

  • Custom Tag - Unable to Load Library

    I'm working on a project that needs to access custom tags. .
    We are using CFMX Version 6,1,0,63958 Edition Enterprise Operating
    system Windows 2003 OS version 5.2
    The Web application relies on 4 custom tags written in C++. I
    can get the first tag to work. The other tags work on my developer
    edition (CFMX 7), but I cannot
    get them to work on Version 6.1. I get the error "Unable to
    Load Library". These other custom tags each call an external DLL
    from within side them and I
    believe that this is what's causing the problem. I've tried
    researching this problem for months, checking the forums, Google,
    etc. but nothing has worked.
    I have a deadline coming up soon, so any help or advice to
    get me in the right direction
    to solve this problem would be greatly appreciated. I don't
    know what to do and I need a solution!
    Thanks

    That worked. It was looking for the dll in CFusionMX\Lib
    instead of in the CFX\custom tags folder.

  • 'Unable to find operation: null'   Error When I invoke Composite Wsdl Url

    Hi ,
    I have created one composite application which consists one BPEL process.That BPEL process takes input from other application.
    But When I invoke that Wsdl Url to push the data from my application to that Wsdl Url,It is giving below error(System fault):
    'Unable to find operation: null' .
    I am getting below message in enterprise manager console (http://ipaddress:port/em):
    'Composite instances are not generated for rejected messages. Click the error message for details'.
    Note: When u click on 'unable to find operation: null' link it is showing the soap request that we submitted to composite URL.
    Instance ID is also not created.
    Can anybody help me regarding this issue?

    As you are able to test the Composite in the EM console and the correct operation, everything looks fine from SOA side.
    Now whatever application from which you are trying to push the data, make sure while configuring the WSDL of the Composite, please check whether you can select the operation of the SOA Composite over there. I think you are leaving the default option which is null or not selecting the required operation over there.
    Hope this helps
    N

  • When Audio Console launched, Unable to find audio device error message comes

    When I launch audio console, I get an error message saying:
    "Unable to find audio device. Please make sure that your audio device is enabled and installed with its driver. This application will be closed."
    This can't be right because my soundblaster audigy 2 ZS platinum card is installed, its working, I can hear things etc.
    I uninstalled and reinstalled the audio console software package from creative and that fixed the problem for a very short while and it is now reoccurring.
    I've had this same setup for several years with no issues, now all of a sudden, this is happening.
    Anyone out there had similar challenges?
    Thanks for looking!Message Edited by dgmtoronto on 07-22-200703:33 PM

    Most probably you don't have passed the correct root= option to the kernel so that the kernel cannot, as it says, find its root device. Read the wiki page about refind in order to know how to configure it (https://wiki.archlinux.org/index.php/REFInd). Refind as no fully automatic configuration like grub.

  • Custom Tag: Cannot find setter method for attribute

    This has been working fine in appserver6.5.
    In the jsp:
    =======
    <display:table configFileDir="theDirectory"...>
    =======
    The tld entry:
    <tag>
    <name>table</name>
    <tagclass>org.apache.taglibs.display.TableTag</tagclass>
    <teiclass>org.apache.taglibs.display.TableTagExtraInfo</teiclass>
    <bodycontent>JSP</bodycontent>
    <attribute>
    <name>configFileDir</name>
    <required>false</required>
    <rtexprvalue>false</rtexprvalue>
    </attribute>
    =============
    In TableTag.java:
    =============
    private String configFileDir = null;
    public void setConfigFileDir( String v )
         v = v.trim();
    this.configFileDir = v;
    ============
    Help, I'm going nuts.

    Then you also need to create a UI element that extends HtmlPanelGrid
    that has a tModelKey member and getters/setters. That object will hold
    the information so that you can use it in your bean.Whoops... ignore that! Sorry. Attributes are simply stored in the component map component.getAttributes().
    Add to your Tag class:
    public void setProperties(UIComponent component) {
        super.setProperties(component);
        Tags.setString(component, "tModelKey", tModelKey);
    public void release() {
        // see above
    }Where Tags.java is:public class Tags {
        public static void setString(UIComponent component, String attributeName, String attributeValue) {
            if (attributeValue != null) {
                if (UIComponentTag.isValueReference(attributeValue)) {
                    setValueBinding(component, attributeName, attributeValue);
                } else {
                    component.getAttributes().put(attributeName, attributeValue);
        public static void setValueBinding(UIComponent component, String attributeName, String attributeValue) {
            FacesContext context = FacesContext.getCurrentInstance();
            Application app = context.getApplication();
            ValueBinding vb = app.createValueBinding(attributeValue);
            component.setValueBinding(attributeName, vb);
    }

  • Custom DSC can't find exception class, error about export-packages

    I've got a DSC which has a method that can throw two custom exceptions. It all works, and the exceptions show up available for handling in a process in Workbench, but the issue here is that the server.log has this error:
    2013-05-13 16:59:35,353 WARN  [com.adobe.workflow.AWS] An exception has been thrown for which the class information has not been exported in the service's export-packages, it is essential for the clients of the service to have the class information via export-packages to handle the exception.
    Yet I have added the exceptions' package to the export packages. And I also made a DataTypes entry for each of the two exceptions as well.
    Does anyone have an idea how I can get rid of this warning?
    Thanks,
    Jack

    You continue to use slash instead of dot.
    You did not follow any of my suggestions and still awarded me dukes,
    so I feel I have to make a last attempt.
    Here is what I have:
    D:\try>dir /s
    Volume in drive D is New Volume
    Volume Serial Number is 3ECC-CB52
    Directory of D:\try
    11/05/2007  12:18 PM    <DIR>          .
    11/05/2007  12:18 PM    <DIR>          ..
    11/05/2007  12:19 PM    <DIR>          a
                   0 File(s)              0 bytes
    Directory of D:\try\a
    11/05/2007  12:19 PM    <DIR>          .
    11/05/2007  12:19 PM    <DIR>          ..
    11/05/2007  12:19 PM    <DIR>          b
    11/05/2007  12:17 PM               808 MyClass.class
                   1 File(s)            808 bytes
    Directory of D:\try\a\b
    11/05/2007  12:19 PM    <DIR>          .
    11/05/2007  12:19 PM    <DIR>          ..
    11/02/2007  01:56 PM                11 Messages.properties
                   1 File(s)             11 bytes
         Total Files Listed:
                   2 File(s)            819 bytes
                   8 Dir(s)  70,889,848,832 bytes free
    D:\try>java a.MyClass
    value
    D:\try>Here is the code for MyClass:
    package a;
    import java.util.*;
    public class MyClass
      public static void main( String[] args ) throws Exception
        ResourceBundle rb = ResourceBundle.getBundle( "a.b.Messages" );
        System.out.println( rb.getString( "key") );
    }Here is the contents of Messages.properties:
    key = value

  • CQ5 custom tag not sending cookie set in response when using IE10

    Hi,
    I have some custom code that will create a cookie and send it to the browser. This code works for Chrome, Firefox and IE9, but for some reason in IE10 the cookie will not even get sent in the response headers!
    The code that creates the cookie is just Java standard:
                   Cookie cookie = new Cookie("recently-viewed-producs-cookie", encryptedCookie);
                    cookie.setPath("/");
                    cookie.setDomain(getSlingRequest().getServerName());
                    cookie.setMaxAge(COOKIE_AGE_IN_SECONDS);
                    getSlingResponse().addCookie(cookie);
    Does anybody have an idea why this could happen? I encrypt the contens of my cookie, so there are no invalid characters (I believe).
    Other cookies created by CQ5 are sent and the browser saves them. I checked the cookie settings for the browser and it is set to accept everything, including session cookies.
    Any suggestions are welcome.
    Blanca

    BTS.MessageType is typically set by one of the Disassemblers.
    BTS.Operation has nothing to do with the Receive Port/Location and is set by the Engine only when coming from an Orchestration Port.
    But, you can set any Property in any Stage with a custom Pipeline Component as you've found.
    "Exception of type 'Microsoft.BizTalk.Message.Interop.BTSException' was thrown."
    There's usually a lot more to the stack trace.  You'll have to include the whole thing.
    Finally, what benefit do you expect from adding the ESB layer?  This is pretty trivial with an Orchestration.

  • Unable to find Program Unit error (ORA-06508)

    This problem is quite complex and difficult to explain completely. We have a situation where a program unit (called ztmessage) is duplicated ... it is in all forms modules (.fmb) and also in our message library which is attached to all forms and libraries. It is required in the form due to use of the forms generator and in the library so that all other external libraries can compile.
    Under certain situations forms appears to get totally confused and can't find the ztmessage program unit (raises ORA-06508 ... Can't find Program Unit being called ... should be calling the "form" program unit). Are there any known issues with duplicated program units?? All of this setup works fine under the 4.5 environnment but falls over in 6.0.
    null

    I suspect that this is a manifestation of Bug 612052 and it's relations.
    What you were doing in 4.5 e.g. calling back from a PLL into a piece of code in
    the form was strictly a No-No. However, it worked and lots of people used it.
    Anyway the Name resolution works differently in 6.0 and the callbacks would all go
    to the initial PU that was first bound rather than the "expected" one in the
    current form.
    In your case you are probably binding to the ztmessage PU in a form which is subsequently
    being closed and hence the reference is broken - 6508 would result.
    Anyway, that bug now has a "Fix" e.g. there is a way of restoring the 4.5 behaviour
    Simply set the environment variable FORMS60_PLSQLV1_NAME_RESOLUTION to TRUE (or YES)
    in the registry. You'll need patch 5 or 6i for this.
    The side effects will be:
    1) Performance will degrade as we have to resolve the name every time
    2) You won't be able to use the SHARE_LIBRARY_DATA flag on OPEN_FORM/CALL_FORM

Maybe you are looking for