SOLMAN_SETUP not invoking Browser

Hello everyone
We have a Solution Manager 7.1 installed. Initially on SP4 but upgraded to SP11. Since then something seems to have happened and cant get SOLMAN_SETUP to do what it is supposed to do and that is, open the process in a browser window. I can open a browser manually and enter the url and then it seems to work OK. But I dont think that is right. Has anyone experienced anything like this before? Any pointers as to where I could look to get it sorted?
When I test the service from SICF (ie. right-click on the service and select "test service" it does open the browser login screen.
Thanks and regards
Ray Phillips

Hi Ray
Could you check this SAP KBA & implement the correction
2002333 - SOLMAN_SETUP fails due to the error "Access via 'NULL' object reference not possible" after updating to 7.1 SP11
BR
SS

Similar Messages

  • Error : - Could not invoke the browser

    Hi,
    I am new in oracle forms. I installed oracle forms 10 on my system. When I run the application it gives the error
    FRM-18126: Could not invoke the browser
    Is there any way to resolve this error.
    Thanks.

    hi
    Try to restart your oc4j instance and start your browser and put http://<hostname:8888
    This may help you

  • Open doc file in msWord but not in browser

    JDev 11.1.1.6.0
    My requirement is similar to that in https://forums.oracle.com/thread/2327005 but in 11g.
    The user has almost done it in making changes in web.xml but I am a beginner and I don't know how to make this happen on click of a command button or a command image link.
    Also, it would be nice if the doc file (new blank doc) opens in MS Word application and not in browser without making changes in browser level.

    Hi,
    if the requirement is similar and not the same its always worth spelling it out. You can reference document resources like Word from ADF by referencing the document URL from a goLink (which then allows you to set the target property to open the doc in a separate browser window or tab). If the browser opens Word, downloads the file or opens in the browser depends on the MIME type setting of the browser (e.g. can it display Word documents natively). If the document e.g is accessed from ADF through a servlet then you probably can set the Mime type explicitly to a specific one. However, it the client in the end that interprets how to process the document.
    Frank

  • When I am NOT private browsing Firefox will not allow me to delete or change the website address in the location bar. My only remedy is to open a new window and search in google then click the link to that site through google. How can I resolve this?

    Question
    When I am NOT private browsing Firefox will not allow me to delete or change the website address in the location bar. My only remedy is to open a new window and search in google then click the link to that site through google. When I swap to private browsing firefox allows me to anter the website address directly into the location bar - but this is a slow [prcess to swap back and forth - also by dint of using private browsing I loose my website information.

    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.com/kb/Safe+Mode
    *https://support.mozilla.com/kb/Troubleshooting+extensions+and+themes

  • "A technical error during invocation : Could not invoke service reference" Error message while calling a service from BPM

    Hi Experts,
    We are facing a issue while calling a Automated activity from BPM process, the process gets suspended and the BPM logs says "Process XYZ suspended, A technical error during invocation: Could not invoke service reference name fdhueoegghejietyhsjk6886 Component name ABC " We have already checked the mapped service reference and provider system. Gone through the below link, but no help.
    http://http://wiki.scn.sap.com/wiki/display/TechTSG/Sending+a+message+from+SAP+NetWeaver+BPM+process+to+PI+fails+via+automated+activity?original_fqdn=wiki.sdn.sap.com
    Any pointers or suggestions to fix up this issue will be highly appreciated. Thanks in advance.
    Regards,
    Mohit Jaju

    The details/ID in NWDS Service Reference must exactly match the SOA configuration. Sometimes it's possible you have changed the reference or the group itself and something changed to become mismatched.
    It's possible they don't match - but the SG itself will show green in NWA since the service exists and responds on the target system. Does the ID listed in the error match what is shown in the NWDS project?
    regards, Nick

  • IWeb pages reverting to older version- not a browser issue, deleting prefs/caches no help

    Hi everyone, forgive me if this is a newb question but I've scoured the internet for answers and all of them I've already tried with no luck. I'm using iWeb and encountering a problem that has me completely stumped. I'm trying to publish changes to my site, (I do not use mobileme, I publish to disk and upload files via Fetch) and for some reason something is changing my html files when I try to upload them. The html files are correct on my hard drive when I publish them, and yet when I upload them, they revert to the older version. This is not a browser issue, as I've cleared my cache, refreshed and tried using Safari, Firefox and Chrome with no luck. I've also tried 're-setting' iWeb by deleting iWeb preferences/cache, and tried moving the domain file from application support, creating a new website, deleting it and then re-loading the old site. Nothing, still the old site. It's new in iWeb, new when I open the html files on my drive, and old as soon as I upload.
    I seem to remember having this problem before, and what I found was iWeb's cache kept replacing my new pages with the old ones every time I wanted to upload them. 'Re-setting' iWeb did the trick then, but it's not doing it now. Any ideas on what is going on? It's a little disconcerting seeing a file correct on the disk and then change itself, while uploading, into an incorrect version.
    Using:
    iWeb 3.0.3
    Mac OS 10.6.7
    Mac Pro 2.66 Dual core

    If you make changes to a page there are files in the Scripts folder that get updated and must be uploaded also.  Depending on what you're using to up load the files it can be setup to upload just those new or modified files.
    Cyberduck is a free FTP client that works very well and if used in conjunction with this tutorial will upload only those new or modified files: #2 - Uploading only those new or newly edited and published files when using a 3rd party FTP client
    OT

  • Adapter Module is not Invoking

    Hi
    I have done one adapter module and i have given that in Sender Communication Channel. I have written audit log as well. But its not invoking.I am not getting any thing on Audit Log. My Scenario is working normally. Actually i have to get Host name at destination side but i am not getting
    I ave created on jar file. I have extrancted that jar file and i found the following files
    <javafile>.class
    <javafile>.java
    ejb-j2ee-engine.xml
    ejb-jar.xml
    but i have extract other in built adapter module jar file their i found manifest.mf apart from above mention files.
    I have create the jar files using nwds version 7.0
    My Adapter module is not working. I have done everything fine.Can anyone tell me the solution
    Best Regards
    Ravi Shankar B
    Message was edited by:
            RaviShankar B

    Hi,
    Ur module name shud b like this
    localejbs/<yourEJBClassName>
    If you specify an incorrect or non-existing module name, it is simply ignored.
    Check the following:
    1. Your stateless session bean should implement SessionBean and Module.
    2. The bean should have the following method
        public ModuleData process()
    Try to create a file in XI Server directory from your adapter module code and this way check whether your module is called or not.
    <i>[Reward if helpful]</i>
    Regards,
    Prateek

  • Way to force .pdf to open in Reader and not in browser

    I saw where there was an Acrobat action called
    Convert PDF2FDF auto-save Action on the AcrobatUsers.com Action Exchange.
    which didn't work, it came in corrupted and unusable.  Does anyone know of an action or anything that will force a .pdf hosted online to open in the visitor's Reader program and NOT the browser they are in...?  No matter what browser.
    Any help you can give me with this is appreciated.   Looking for a consistent user experience here where they can fill in the information on the pdf form, save it and email it without too much hoopla.
    I am really surprised after all of the work I've put into this that this is not something that is more easily accomplished, but perhaps I am doing something wrong or don't have enough information.
    Thanks!
    Ruth

    Actions can be tricky, Are you aware that the method of encoding Actions or Batch Processes changed between versions 9 and 10 and again between 10 and XI?
    What version of Acrobat are you using?

  • WebService is not invoking from OAPage

    Hi,
    I created a BPEL WS which creates a employee in oracle EBS and deployed sucessfully.My requirement is to invoke this WS from a custom OAF page.I generated all STUB java classes and done all coding in the controller of the page.The problem is WS is not invoking,no error is throwing.
    I am pasting my WSDL file and stub class
    CreateEmployee WSDL
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
    name="CreateEmployee"
    targetNamespace="http://xmlns.oracle.com/CreateEmployee"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://xmlns.oracle.com/CreateEmployee"
    xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"
    xmlns:ns1="http://www.globalcompany.com/ns/sales"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:client="http://xmlns.oracle.com/CreateEmployee"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.globalcompany.com/ns/sales"
    xmlns:po="http://www.globalcompany.com/ns/sales"
    elementFormDefault="qualified">
    <annotation>
    <documentation xml:lang="en">
    Order Booking schema for GlobalCompany.com.
    Copyright 2005 GlobalCompany.com. All rights reserved.
    </documentation>
    </annotation>
    <element name="EmployeeDetails" type="po:EmployeeDetails"/>
    <complexType name="EmployeeDetails">
    <sequence>
    <element name="EmployeeNumber" type="string"/>
    <element name="DOB" type="date"/>
    <element name="LastName" type="string"/>
    <element name="Bgid" type="integer"/>
    <element name="EffectiveDate" type="date"/>
    <element name="Gender" type="string"/>
    </sequence>
    </complexType>
    </schema>
    <xs:schema targetNamespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all">
    <!-- //////////////////// WS-Addressing //////////////////// -->
    * <!-- Endpoint reference -->*
    * <xs:element name="EndpointReference" type="wsa:EndpointReferenceType"/>*
    * <xs:complexType name="EndpointReferenceType">*
    * <xs:sequence>*
    * <xs:element name="Address" type="wsa:AttributedURI"/>*
    * <xs:element name="ReferenceProperties" type="wsa:ReferencePropertiesType" minOccurs="0"/>*
    * <xs:element name="PortType" type="wsa:AttributedQName" minOccurs="0"/>*
    * <xs:element name="ServiceName" type="wsa:ServiceNameType" minOccurs="0"/>*
    * <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">*
    * <xs:annotation>*
    * <xs:documentation>*
    * If "Policy" elements from namespace "http://schemas.xmlsoap.org/ws/2002/12/policy#policy" are used, they must appear first (before any extensibility elements).*
    * </xs:documentation>*
    * </xs:annotation>*
    *</xs:any> *
    * </xs:sequence>*
    * <xs:anyAttribute namespace="##other" processContents="lax"/>*
    * </xs:complexType>*
    * <xs:complexType name="ReferencePropertiesType">*
    * <xs:sequence>*
    * <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>*
    * </xs:sequence>*
    * </xs:complexType>*
    * <xs:complexType name="ServiceNameType">*
    * <xs:simpleContent>*
    * <xs:extension base="xs:QName">*
    * <xs:attribute name="PortName" type="xs:NCName"/>*
    * <xs:anyAttribute namespace="##other" processContents="lax"/>*
    * </xs:extension>*
    * </xs:simpleContent>*
    * </xs:complexType>*
    * <!-- Message information header blocks -->*
    * <xs:element name="MessageID" type="wsa:AttributedURI"/>*
    * <xs:element name="RelatesTo" type="wsa:Relationship"/>*
    * <xs:element name="To" type="wsa:AttributedURI"/>*
    * <xs:element name="Action" type="wsa:AttributedURI"/>*
    * <xs:element name="From" type="wsa:EndpointReferenceType"/>*
    * <xs:element name="ReplyTo" type="wsa:EndpointReferenceType"/>*
    * <xs:element name="FaultTo" type="wsa:EndpointReferenceType"/>*
    * <xs:element name="Recipient" type="wsa:EndpointReferenceType"/>*
    * <xs:complexType name="Relationship">*
    * <xs:simpleContent>*
    * <xs:extension base="xs:anyURI">*
    * <xs:attribute name="RelationshipType" type="xs:QName" use="optional"/>*
    * <xs:anyAttribute namespace="##other" processContents="lax"/>*
    * </xs:extension>*
    * </xs:simpleContent>*
    * </xs:complexType>*
    * <xs:simpleType name="RelationshipTypeValues">*
    * <xs:restriction base="xs:QName">*
    * <xs:enumeration value="wsa:Response"/>*
    * </xs:restriction>*
    * </xs:simpleType>*
    * <!-- Common declarations and definitions -->*
    * <xs:complexType name="AttributedQName">*
    * <xs:simpleContent>*
    * <xs:extension base="xs:QName">*
    * <xs:anyAttribute namespace="##other" processContents="lax"/>*
    * </xs:extension>*
    * </xs:simpleContent>*
    * </xs:complexType>*
    * <xs:complexType name="AttributedURI">*
    * <xs:simpleContent>*
    * <xs:extension base="xs:anyURI">*
    * <xs:anyAttribute namespace="##other" processContents="lax"/>*
    * </xs:extension>*
    * </xs:simpleContent>*
    * </xs:complexType>*
    </xs:schema>
    </types>
    <message name="CreateEmployeeResponseMessage">
    <part name="payload" element="ns1:EmployeeDetails"/>
    </message>
    <message name="CreateEmployeeRequestMessage">
    <part name="payload" element="ns1:EmployeeDetails"/>
    </message>
    <message name="WSARelatesToHeader">
    <part name="RelatesTo" element="wsa:RelatesTo"/>
    </message>
    <message name="WSAReplyToHeader">
    <part name="ReplyTo" element="wsa:ReplyTo"/>
    </message>
    <message name="WSAMessageIDHeader">
    <part name="MessageID" element="wsa:MessageID"/>
    </message>
    <portType name="CreateEmployeeCallback">
    <operation name="onResult">
    <input message="tns:CreateEmployeeResponseMessage"/>
    </operation>
    </portType>
    <portType name="CreateEmployee">
    <operation name="initiate">
    <input message="tns:CreateEmployeeRequestMessage"/>
    </operation>
    </portType>
    <binding name="CreateEmployeeCallbackBinding" type="tns:CreateEmployeeCallback">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="onResult">
    <soap:operation style="document" soapAction="onResult"/>
    <input>
    <soap:header message="tns:WSARelatesToHeader" part="RelatesTo" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>
    <binding name="CreateEmployeeBinding" type="tns:CreateEmployee">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="initiate">
    <soap:operation style="document" soapAction="initiate"/>
    <input>
    <soap:header message="tns:WSAReplyToHeader" part="ReplyTo" use="literal" encodingStyle=""/>
    <soap:header message="tns:WSAMessageIDHeader" part="MessageID" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>
    <service name="CreateEmployee">
    <port name="CreateEmployeePort" binding="tns:CreateEmployeeBinding">
    <soap:address location="http://kbace12:8888/orabpel/default/CreateEmployee/1.0"/>
    </port>
    </service>
    <service name="CreateEmployeeCallbackService">
    <port name="CreateEmployeeCallbackPort" binding="tns:CreateEmployeeCallbackBinding">
    <soap:address location="http://set.by.caller"/>
    </port>
    </service>
    <plnk:partnerLinkType name="CreateEmployee">
    <plnk:role name="CreateEmployeeProvider">
    <plnk:portType name="tns:CreateEmployee"/>
    </plnk:role>
    <plnk:role name="CreateEmployeeRequester">
    <plnk:portType name="tns:CreateEmployeeCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    CreateEmployeeStub.java
    package mentor.oracle.apps.webservices;
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.soapenc.BeanSerializer;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import org.apache.soap.util.xml.QName;
    import java.util.Vector;
    import org.w3c.dom.Element;
    import java.net.URL;
    import org.apache.soap.Body;
    import org.apache.soap.Envelope;
    import org.apache.soap.messaging.Message;
    import java.util.Properties;
    public class CreateEmployeeStub
    //public String endpoint = "http://172.16.1.157:8888/orabpel/default/CreateEmployee/1.0";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    private SOAPMappingRegistry m_smr = null;
    public CreateEmployeeStub()
    m_httpConnection = new OracleSOAPHTTPConnection();
    public void initiate(Element requestElem) throws Exception
    URL endpointURL = new URL( "http://172.16.1.157:8888/orabpel/default/CreateEmployee/1.0");
    Envelope requestEnv = new Envelope();
    Body requestBody = new Body();
    Vector requestBodyEntries = new Vector();
    requestBodyEntries.addElement(requestElem);
    requestBody.setBodyEntries(requestBodyEntries);
    requestEnv.setBody(requestBody);
    Message msg = new Message();
    msg.setSOAPTransport(m_httpConnection);
    msg.send(endpointURL, "initiate", requestEnv);
    and Input to initiate method is in the form of XML
    <ns1:EmployeeDetails>
    <ns1:EmployeeNumber>6999</ns1:EmployeeNumber>
    <ns1:DOB>2000-07-15</ns1:DOB>
    <ns1:LastName>Manoj9334</ns1:LastName>
    <ns1:Bgid>7577</ns1:Bgid>
    <ns1:EffectiveDate>2009-07-15</ns1:EffectiveDate>
    <ns1:Gender>M</ns1:Gender>
    </ns1:EmployeeDetails>
    that i created using org.w3c.dom.Element class before invoking the initiate method.
    Please give solution to this problem
    Thanks in Advance

    You better ask this in the [OA Forum|http://forums.oracle.com/forums/forum.jspa?forumID=210]
    Timo

  • ORACLE ADF 11g /JSF TO  serviet (Service method) not invoking

    Hi,
    ORACLE ADF 11g /JSF TO serviet (Service method) not invoking
    My project name is : ComplProject
    inside the project im having 1 jsp say x.jsp
    work environment : (oracleADF 11g) jdev11 and weblogic server 10.3
    in x.jsp im displaying 1 go link -> when ever we click on GO link it should go to ComplServlet.java
    i tried like,
    FacesContext.getCurrentInstance().getExternalContext().redirect("/servlet/ComplServlet");
    the "ComplServlet" is an URL pattern in web.xml which points to servlet.
    but not working
    i pointed to faces-config.xml also , not working
    i tried to forward like
    FacesContext context = FacesContext.getCurrentInstance();
    ServletContext sContext = (ServletContext)context.getExternalContext().getContext();
    ServletRequest request = (ServletRequest)context.getExternalContext().getRequest();
    System.out.println("third line...............");
    HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();
    response.sendRedirect("/servlet/ViewDocument");
    sContext.getRequestDispatcher("/servlet/ViewDocument").include(request, response);
    brief
    (from jsf page) after clicking on GO LINK i need to redirect or control should go to servlet ->service method
    thanks in advance
    regards,
    sandeep

    Hi,
    i tried like,
    FacesContext.getCurrentInstance().getExternalContext().redirect("/servlet/ComplServlet");
    the "ComplServlet" is an URL pattern in web.xml which points to servlet.
    but not workingUse like following.
        public HttpServletRequest getServletRequest() {
            return (HttpServletRequest)facesContext.getExternalContext().getRequest();
        public redirect(String url){
           getServletRequest().sendRedirect(getServletRequest().getContextPath() + "/servlet/ComplServlet");
        }If you are using golink as frank suggested then use it like this.
    <af:goLink text="ComplServlet" destination="/servlet/ComplServlet"/>no need of using context when using goLink,
    Regards,
    Santosh.

  • Service working fine in Gateway but not in browser

    Hi All,
    I have a gateway service which is working fine in Development system but after transporting to Quality system, it is not working on browser.
    It is running perfectly in Quality gateway system but on browser it's throwing error:
                Model '' contains errors. Contact Adminstrator
    I am not even able to open metadata on browser.
    Please advise.
    Thanks.

    Hello Satya,
    The error is saying your model contains error, that means there is some problem with ur data model.
    But u also say that it works in GW Client and not in browser.
    Please try the below and check:
    1. Please make sure that the host and the port used are correct in browser. Get Host and Port info from GW Client and use accordingly.
    2. Clear your browser cache as well.
    3. Clear your model cache and try. Go to t-code /iwfnd/cache_cleanup and clear the cache and check again from browser.
    Regards,
    Ashwin

  • SES Release Strategy not invoked in Backend from SRM confirmation posting

    Hi,
    I have configured a SES release strategy based on vendor number in R/3. When a SES is created in R/3 via ML81N the release strategy is invoked as expected. However, when a confirmation is entered in SRM for that vendor, the SES that is created in the backend system is created in accepted status and the release strategy is not invoked.
    Can anyone advise how to get this to work the same way as ML81N?
    I would expect that the SES would be created in the backend from the confirmation without acceptance and the release procedure to be the same as ML81N.
    thanks,
    Michelle.

    Hi,
    The SRM confirmation in EBP is the goods receipt(MIGO) and not the service entry sheet entry (ML81N) as we do in Materials management.
    As per my understanding there is no provision of service entry sheet entry in SRM 5.0 as of now  and SRM 7.0 has this option coming up :
    In SRM 7.0 ,
    "Supplier-maintained confirmation (service entry sheet) for services performed based on the service items within a purchase order
    Confirmation supporting hierarchical structure of service items"
    are added.
    Look for this information in the thread which speaks about SRM 7.0
    Re: Benefits of upgrading to SAP SRM 2007
    which gives the info in slide 11, Delta SRM 7.0, Service procurement -2
    Best regards,
    Sridhar.

  • Searching LOV is not invoking any method

    Hello JHeadstart team:
    I have the following behaviour with my LOVs generated from JHeadstart (10.1.2)
    The "Go" button seems to not invoke anything, just give back the same page, not doing any filter.
    By watching the log window in JDeveloper, seems like no event is invoked.
    Also, I don't see in the generated lov.uix page an event called lovFilter under handlers (should I have one?)
    When the page is invoked from the parent page, I have the following log, and the advancedSearch is being invoked giving me the filter, if I typed something before clicking the flashlight:
    12:01:56 DEBUG (JhsActionServlet) -Setting current HttpServletRequest on jhsUserRoles wrapper object on session to allow EL access to request.isUserInRolefunction
    12:01:56 DEBUG (JhsActionServlet) -Request class: com.evermind.server.http.EvermindHttpServletRequest
    12:01:56 DEBUG (JhsActionServlet) -Request URI: /BugTracker-ViewController-context-root/LovUpdProcess2.do
    12:01:56 DEBUG (JhsActionServlet) -Request Character Encoding: windows-1252
    12:01:56 DEBUG (JhsActionServlet) -Parameter baseUIModel: MeineFMUIModel
    12:01:56 DEBUG (JhsActionServlet) -Parameter searchText: <Unbekannt>
    12:01:56 DEBUG (JhsActionServlet) -Parameter multiSelect: false
    12:01:56 DEBUG (JhsActionServlet) -Parameter event: lovFilter
    12:01:56 DEBUG (JhsActionServlet) -Parameter lovUsage: form
    12:01:56 DEBUG (JhsActionServlet) -Parameter searchAttribute:
    12:01:56 DEBUG (JhsActionServlet) -Parameter contextURI: /BugTracker-ViewController-context-root
    12:01:56 DEBUG (JhsActionServlet) -Parameter pageTimeStamp: ignore
    12:01:56 DEBUG (JhsActionServlet) -Parameter source: VB_MeineFMProzess
    12:01:56 DEBUG (JhsActionServlet) -Parameter enc: windows-1252
    12:01:56 DEBUG (JhsActionServlet) -Parameter configName: BaseUIPBCfg1
    12:01:56 DEBUG (JhsDataAction) -Executing action /LovUpdProcess2
    12:01:56 DEBUG (JhsDataAction) -MultiSelect stored on session Context with value false
    12:01:56 DEBUG (JhsDataAction) -lastIssuedPageTimeStamp NOT updated because pageTimeStamp parameter has value 'ignore'
    12:01:56 DEBUG (JhsDataAction) -Found existing searchBean for UpdProcess2UIModel
    12:01:56 DEBUG (JhsDataAction) -Stored searchBean for UpdProcess2UIModel on request
    12:01:56 DEBUG (JhsDataAction) -No commit event in request and multiRowUpdateEvent request param not set, multi-row update NOT executed
    12:01:56 DEBUG (JhsDataAction) -executing onLovFilter
    12:01:56 DEBUG (JhsDataAction) -Lov icon clicked, clear searchText in searchBean
    12:01:56 DEBUG (JhsDataAction) -executing onQuickSearch
    12:01:56 DEBUG (JhsDataAction) -Populating bean: searchBean
    12:01:56 DEBUG (JhsApplicationModuleImpl) -executing advancedSearch for ProzessList
    12:01:56 DEBUG (JhsDataAction) -Storing table binding factory under key jhsTableBindings on request
    12:01:56 DEBUG (JhsDataAction) -Forward set by parameter property returned: /WEB-INF/page/LovUpdProcess2.uix
    But nothing happens when clicking "Go". Is it a bug? Do I have any workaround?

    Here goes my workaround. JHeadstart Team, please check if what I'm doing is right. If yes, I believe this is an important correction for future releases:
    Reason:
    The LOV page generated has in the <listOfValues> tag the attribute searchAreaMode="filter".
    The onLovFilter event has the code:
    String searchAreaMode = request.getParameter(SEARCH_AREA_MODE);
    if ("advanced".equals(searchAreaMode))
    onAdvancedSearch(daContext);
    else if ("simple".equals(searchAreaMode))
    onQuickSearch(daContext);
    else
    // if we get here, we are not yet in the LOV page, the user
    // has invoked the page through clicking on the lov icon.
    // we must clear the search text so it is not displayed as search
    // criterium in the lov (searchAttribute is already empty when
    // clicking the lov icon)
    // And onQuickSearch should only execute the query if iterator
    // is not inf find mode. To signal to the onQuickSearch method that
    // this check is needed and to clear the search text, we set a
    // request attribute
    request.setAttribute(LOV_CHECK_FIND_MODE, "true");
    mLog.debug("Lov icon clicked, clear searchText in searchBean");
    onQuickSearch(daContext);
    But this code is setting the LOV_CHECK_FIND_MODE to true when searchArea = "filter", making the onQuickSearch event to set the searchText to null
    I overriden the whole event adding also the
    else if ("filter".equals(searchAreaMode))
    onQuickSearch(daContext);
    and now is working fine.
    In my previous post I mentioned that also the attribute was wrong, but this was my mistake in the ApplicationStructure file.

  • Custom button with action listener - will not invoke action listener

    Hi
    For whatever reason, I cannot find a concise example of a simple custom component that can invoke an action listener. The tutorials I've read so far either ignore this fundamental topic or only make the slightest make reference to it.
    The best I have come up with - in terms of a simple prototype is below... but, the action listener is never invoked.... Can someone tell me what I am missing (full code below). Hopefully, what is missing or incorrect will be obvious to you JSF experts out there.
    Thanks for any help!!
    -f
    tld
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
      <tlib-version>0.01</tlib-version>
      <jsp-version>1.2</jsp-version>
      <short-name>jsfcustomcomponent</short-name>
      <uri>http://jsfcustomcomponent/</uri>
      <description><![CDATA[jsf custom component tags]]>  </description>
      <tag>
        <name>specialBtnTag</name>
        <tag-class>jsfcustomcomponent.SpecialBtnTag</tag-class>
        <attribute>
          <name>value</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[button value]]></description>
        </attribute>
        <attribute>
          <name>actionListener</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[action listener]]> </description>
        </attribute>
      </tag>
    </taglib>
    SpecialBtnComponent
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.el.*;
    import javax.faces.event.*;
    public class SpecialBtnComponent
        extends UIComponentBase implements ActionSource
        public static final String COMPONENT_TYPE = "SpecialBtnComponent";
        public static final String RENDERER_TYPE = "SpecialBtnRenderer";
        public String getFamily()
            return COMPONENT_TYPE;
        public SpecialBtnComponent()
            super();
            setRendererType(SpecialBtnComponent.RENDERER_TYPE);
        private String value;
        public void setValue(String value, FacesContext facesContext)
            this.value = value;
        public String getValue()
            if (null != value)
                return value;
            ValueBinding _vb = getValueBinding("value");
            if (_vb != null)
                return (String) _vb.getValue(getFacesContext());
            else
                return null;
        private MethodBinding action = null;
        public MethodBinding getAction()
            return action;
        public void setAction(MethodBinding methodBinding)
            this.action = action;
        private MethodBinding actionListener = null;
        public MethodBinding getActionListener()
            return (this.actionListener);
        public void setActionListener(MethodBinding methodBinding)
            this.actionListener = actionListener;
        public boolean isImmediate()
            return false;
        public void setImmediate(boolean _boolean)
            //this.immediate = immediate;
        public void addActionListener(ActionListener actionListener)
            addFacesListener(actionListener);
        public ActionListener[] getActionListeners()
            return (ActionListener[]) getFacesListeners(ActionListener.class);
        public void removeActionListener(ActionListener actionListener)
            removeFacesListener(actionListener);
        public Object saveState(FacesContext context)
            Object values[] = new Object[5];
            values[0] = super.saveState(context);
            values[1] = value;
            values[2] = saveAttachedState(context, action);
            values[3] = saveAttachedState(context, actionListener);
            return ( (Object) (values));
        public void restoreState(FacesContext context, Object state)
            Object values[] = (Object[]) state;
            super.restoreState(context, values[0]);
            value = (String) values[1];
            action = (MethodBinding) restoreAttachedState(context, values[2]);
            actionListener = (MethodBinding) restoreAttachedState(context, values[3]);
        public void broadcast(FacesEvent event) throws AbortProcessingException
            super.broadcast(event);
            if (event instanceof ActionEvent)
                FacesContext context = getFacesContext();
                MethodBinding mb = getActionListener();
                if (mb != null)
                    mb.invoke(context, new Object[]
                              {event});
                ActionListener listener = context.getApplication().getActionListener();
                if (listener != null)
                    listener.processAction( (ActionEvent) event);
        public void queueEvent(FacesEvent e)
            if (e instanceof ActionEvent)
                if (isImmediate())
                    e.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
                else
                    e.setPhaseId(PhaseId.INVOKE_APPLICATION);
            super.queueEvent(e);
    SpecialBtnRenderer
    package jsfcustomcomponent;
    import java.util.*;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.event.*;
    import javax.faces.render.*;
    public class SpecialBtnRenderer
        extends Renderer
        String value;
        public SpecialBtnRenderer()
        public void decode(FacesContext context, UIComponent component)
            Map requestMap = context.getExternalContext().getRequestParameterMap();
            String clientId = component.getClientId(context);
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            String value = (String) requestMap.get(clientId);
            if (null != value)
                specialBtnComponent.setValue(value, context);
            ActionEvent actionEvent = new ActionEvent(specialBtnComponent);
            specialBtnComponent.queueEvent(actionEvent);
        public void encodeEnd(FacesContext context, UIComponent component) throws java.io.IOException
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            ResponseWriter writer = context.getResponseWriter();
            String clientId = component.getClientId(context);
            value = (String) component.getAttributes().get("value");
            if (value == null)
                value = "defaultValue";
            buildSpecialBtn(writer, value, clientId, specialBtnComponent);
        private void buildSpecialBtn(ResponseWriter writer, String value, String clientId, SpecialBtnComponent component) throws java.io.IOException
            writer.startElement("table", component);
            writer.startElement("tbody", component);
            writer.startElement("tr", component);
            writer.startElement("td", component);
            value = String.valueOf(value);
            writer.startElement("input", component);
            writer.writeAttribute("type", "submit", null);
            writer.writeAttribute("name", clientId, "clientId");
            writer.writeAttribute("value", value, null);
            writer.endElement("input");
            writer.endElement("td");
            writer.endElement("tr");
            writer.endElement("tbody");
            writer.endElement("table");
    SpecialBtnTag
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.el.*;
    import javax.faces.webapp.*;
    import com.sun.faces.util.*;
    public class SpecialBtnTag
        extends UIComponentTag
        public String value = null;
        public String actionListener = null;
        public String getComponentType()
            return SpecialBtnComponent.COMPONENT_TYPE;
        public String getRendererType()
            return SpecialBtnComponent.RENDERER_TYPE;
        protected void setProperties(UIComponent component)
            super.setProperties(component);
            if (! (component instanceof SpecialBtnComponent))
                throw new IllegalStateException("Component " + component.toString() +
                                                " not expected type.  Expected: jsfcustomcomponent.SpecialBtnComponent.  Perhaps you�re missing a tag?");
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            if (value != null)
                if (isValueReference(value))
                    ValueBinding vb = Util.getValueBinding(value);
                    specialBtnComponent.setValueBinding("value", vb);
                else
                    throw new IllegalStateException("The value for �value� must be a ValueBinding.");
            if (actionListener != null)
                if (isValueReference(actionListener))
                    ValueBinding vb = Util.getValueBinding(actionListener);
                    specialBtnComponent.setValueBinding("actionListener", vb);
                else
                    throw new IllegalStateException("The value for �actionListener� must be a ValueBinding.");
        public void release()
            super.release();
            value = null;
            actionListener = null;
        public void setValue(String value)
            this.value = value;
        public String getValue()
            return this.value;
        public void setActionListener(String actionListener)
            this.actionListener = actionListener;
        public String getActionListener()
            return this.actionListener;
    jsp1.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://jsfcustomcomponent/" prefix="j"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
    </head>
    <body>
    <f:view>
      <h:form id="form01">
        <h:outputText value="test special button with action listener"/>
        <j:specialBtnTag value="#{specialBtnBacking.specialBtnValue}" actionListener="#{specialBtnBacking.specialBtnActionListener}"/>
        <h:messages/>
        <h:outputText value="#{specialBtnBacking.outcome}"/>
      </h:form>
    </f:view>
    </body>
    </html>
    SpecialBtnBacking
    package specialbtn;
    import javax.faces.context.*;
    import javax.faces.event.*;
    public class SpecialBtnBacking
        private FacesContext context;
        public SpecialBtnBacking()
            this.setSpecialBtnValue("Special Button with action listener");
        private String specialBtnValue;
        public String getSpecialBtnValue()
            return this.specialBtnValue;
        public void setSpecialBtnValue(String specialBtnValue)
            this.specialBtnValue = specialBtnValue;
        private String outcome="actionlistener NOT invoked: click specialBtn above to test";
        public String getOutcome()
            return outcome;
        public void setOutcome(String outcome)
            this.outcome = outcome;
        public void specialBtnActionListener(ActionEvent evt)
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            this.outcome="***action listener invoked!!!***";
    faces-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
      <managed-bean>
        <managed-bean-name>specialBtnBacking</managed-bean-name>
        <managed-bean-class>specialbtn.SpecialBtnBacking</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
      </managed-bean>
      <component>
        <component-type>SpecialBtnComponent</component-type>
        <component-class>jsfcustomcomponent.SpecialBtnComponent</component-class>
        <component-extension>
          <renderer-type>SpecialBtnRenderer</renderer-type>
        </component-extension>
      </component>
      <render-kit>
        <renderer>
          <component-family>SpecialBtnComponent</component-family>
          <renderer-type>SpecialBtnRenderer</renderer-type>
          <renderer-class>jsfcustomcomponent.SpecialBtnRenderer</renderer-class>
        </renderer>
      </render-kit>
    </faces-config>
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
      <display-name>pagerWEB</display-name>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
      <jsp-config>
        <taglib>
          <taglib-uri>http://jsfcustomcomponent/</taglib-uri>
          <taglib-location>/WEB-INF/jsfcustomcomponent.tld</taglib-location>
        </taglib>
      </jsp-config>
      <servlet>
        <description>Added by JBuilder to compile JSPs with debug info</description>
        <servlet-name>debugjsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
          <param-name>classdebuginfo</param-name>
          <param-value>true</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>debugjsp</servlet-name>
        <url-pattern>*.jsp</url-pattern>
      </servlet-mapping>
    </web-app>

    got it working....
    The changes were:
    in "SpecialBtnRenderer"...
    --new--
                        mb.invoke(context, new Object[1]);
    --old--
                        mb.invoke(context, new Object[0]);
    in "SpecialBtnTag"...
    --new--
    import javax.faces.event.ActionEvent;
    --new--
                    MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, new Class[]{ActionEvent.class});
    --old--
                    MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, null);
    -Below is the entire application, again -- for those (like myself) who need concrete examples...
    I hope this helps someone else! --f
    jsp1.jsp
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://jsfcustomcomponent/" prefix="j"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    <link rel="stylesheet" type="text/css" href="./stylesheet.css" title="Style">
    </head>
    <body>
    <f:view>
        <h:messages/>
      <h:form id="form01">
        <h:outputText value="test special button with action listener"/>
        <j:specialBtnTag value="#{specialBtnBacking.specialBtnValue}" specialBtnListener="#{specialBtnBacking.specialBtnActionListener}"/>
        <h:outputText value="#{specialBtnBacking.outcome}"/>
      </h:form>
    </f:view>
    </body>
    </html>
    SpecialBtnBacking
    package specialbtn;
    import javax.faces.context.*;
    import javax.faces.event.*;
    public class SpecialBtnBacking
        private FacesContext context;
        public SpecialBtnBacking()
            this.setSpecialBtnValue("Special Button with action listener");
        private String specialBtnValue;
        public String getSpecialBtnValue()
            return this.specialBtnValue;
        public void setSpecialBtnValue(String specialBtnValue)
            this.specialBtnValue = specialBtnValue;
        private String outcome = "actionlistener NOT invoked: click specialBtn above to test";
        public String getOutcome()
            return outcome;
        public void setOutcome(String outcome)
            this.outcome = outcome;
        public void specialBtnActionListener(ActionEvent evt)
            System.out.println("\n\n");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
            System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jsp1Backing/specialBtnActionListener()!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n");
            this.outcome = "***action listener invoked!!!***";
    jsfcustomcomponent.tld
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
      <tlib-version>0.01</tlib-version>
      <jsp-version>1.2</jsp-version>
      <short-name>jsfcustomcomponent</short-name>
      <uri>http://jsfcustomcomponent/</uri>
      <description><![CDATA[jsf custom component tags]]>  </description>
      <tag>
        <name>specialBtnTag</name>
        <tag-class>jsfcustomcomponent.SpecialBtnTag</tag-class>
        <attribute>
          <name>value</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[button value]]></description>
        </attribute>
        <attribute>
          <name>specialBtnListener</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
          <description><![CDATA[action listener]]> </description>
        </attribute>
      </tag>
    </taglib>
    faces-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
      <managed-bean>
        <managed-bean-name>specialBtnBacking</managed-bean-name>
        <managed-bean-class>specialbtn.SpecialBtnBacking</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
      </managed-bean>
      <component>
        <component-type>SpecialBtnComponent</component-type>
        <component-class>jsfcustomcomponent.SpecialBtnComponent</component-class>
        <component-extension>
          <renderer-type>SpecialBtnRenderer</renderer-type>
        </component-extension>
      </component>
      <render-kit>
        <renderer>
          <component-family>SpecialBtnComponent</component-family>
          <renderer-type>SpecialBtnRenderer</renderer-type>
          <renderer-class>jsfcustomcomponent.SpecialBtnRenderer</renderer-class>
        </renderer>
      </render-kit>
    </faces-config>
    SpecialBtnComponent.java
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.el.*;
    import javax.faces.event.*;
    public class SpecialBtnComponent
        extends UIComponentBase implements ActionSource
        public static final String COMPONENT_TYPE = "SpecialBtnComponent";
        public static final String RENDERER_TYPE = "SpecialBtnRenderer";
        public String getFamily()
            return COMPONENT_TYPE;
        public SpecialBtnComponent()
            super();
            setRendererType(SpecialBtnComponent.RENDERER_TYPE);
        private String value;
        public void setValue(String value, FacesContext facesContext)
            this.value = value;
        public String getValue()
            if (null != this.value)
                return this.value;
            ValueBinding _vb = getValueBinding("value");
            if (_vb != null)
                return (String) _vb.getValue(getFacesContext());
            else
                return null;
        private MethodBinding specialBtnListener = null;
        public MethodBinding getActionListener()
            return (this.specialBtnListener);
        public void setActionListener(MethodBinding actionListener)
            this.specialBtnListener = actionListener;
        public Object saveState(FacesContext context)
            Object values[] = new Object[3];
            values[0] = super.saveState(context);
            values[1] = saveAttachedState(context, this.specialBtnListener);
            values[2] = this.value;
            return (values);
        public void restoreState(FacesContext context, Object state)
            Object values[] = (Object[]) state;
            super.restoreState(context, values[0]);
            this.specialBtnListener = (MethodBinding) restoreAttachedState(context, values[1]);
            this.value = (String) restoreAttachedState(context, values[2]);
        public void broadcast(FacesEvent event) throws AbortProcessingException
            super.broadcast(event);
            if (event instanceof ActionEvent)
                FacesContext context = getFacesContext();
                MethodBinding mb = this.getActionListener();
                if (mb != null)
                    try
                        mb.invoke(context, new Object[]
                                  {event});
                    catch (EvaluationException ex)
                        System.out.println("SpecialBtnComponent/broadcast(FacesEvent event)...EvaluationException encountered - ex.getMessage()=" + ex.getMessage());
                        ex.printStackTrace();
                ActionListener actionListener = context.getApplication().getActionListener();
                if (actionListener != null)
                    actionListener.processAction( (ActionEvent) event);
        public void queueEvent(FacesEvent e)
            if (e instanceof ActionEvent)
                e.setPhaseId(PhaseId.INVOKE_APPLICATION);
            super.queueEvent(e);
        public MethodBinding getAction()
            return null;
        public void setAction(MethodBinding methodBinding)
        public boolean isImmediate()
            return false;
        public void setImmediate(boolean _boolean)
        public void addActionListener(ActionListener actionListener)
            addFacesListener(actionListener);
        public ActionListener[] getActionListeners()
            return (ActionListener[]) getFacesListeners(ActionListener.class);
        public void removeActionListener(ActionListener actionListener)
            removeFacesListener(actionListener);
    SpecialBtnTag.java
    package jsfcustomcomponent;
    import javax.faces.component.*;
    import javax.faces.el.*;
    import javax.faces.webapp.*;
    import com.sun.faces.util.*;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
    public class SpecialBtnTag
        extends UIComponentTag
        public String value = null;
        public String specialBtnListener = null;
        private SpecialBtnComponent specialBtnComponent;
        public SpecialBtnTag()
            super();
        public String getComponentType()
            return SpecialBtnComponent.COMPONENT_TYPE;
        public String getRendererType()
            return SpecialBtnComponent.RENDERER_TYPE;
        protected void setProperties(UIComponent component)
            super.setProperties(component);
            if (! (component instanceof SpecialBtnComponent))
                throw new IllegalStateException("Component " + component.toString() +
                                                " not expected type.  Expected: jsfcustomcomponent.SpecialBtnComponent.  Perhaps you�re missing a tag?");
            specialBtnComponent = (SpecialBtnComponent) component;
            if (value != null)
                if (isValueReference(value))
                    ValueBinding vb = Util.getValueBinding(value);
                    specialBtnComponent.setValueBinding("value", vb);
                else
                    throw new IllegalStateException("The value for �value� must be a ValueBinding.");
            if (specialBtnListener != null)
                if (isValueReference(specialBtnListener))
                    MethodBinding mb = FacesContext.getCurrentInstance().getApplication().createMethodBinding(specialBtnListener, new Class[]{ActionEvent.class});
                    ( (SpecialBtnComponent) component).setActionListener(mb);
                else
                    MethodBinding mb = Util.createConstantMethodBinding(specialBtnListener);
                    ( (SpecialBtnComponent) component).setActionListener(mb);
        public void release()
            super.release();
            value = null;
            specialBtnListener = null;
        public void setValue(String value)
            this.value = value;
        public String getValue()
            return this.value;
        public void setSpecialBtnListener(String specialBtnListener)
            this.specialBtnListener = specialBtnListener;
        public String getSpecialBtnListener()
            return this.specialBtnListener;
    SpecialBtnRenderer
    package jsfcustomcomponent;
    import java.util.*;
    import javax.faces.component.*;
    import javax.faces.context.*;
    import javax.faces.event.*;
    import javax.faces.render.*;
    import javax.faces.el.MethodBinding;
    import javax.faces.el.*;
    public class SpecialBtnRenderer
        extends Renderer
        String value;
        public SpecialBtnRenderer()
            super();
        public void decode(FacesContext context, UIComponent component)
            try
                Map requestMap = context.getExternalContext().getRequestParameterMap();
                String clientId = component.getClientId(context);
                SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
                String value = (String) requestMap.get(clientId);
                if (null != value)
                    specialBtnComponent.setValue(value, context);
                    MethodBinding mb = specialBtnComponent.getActionListener();
                    if (mb != null)
                        System.out.println("SpecialBtnRenderer/decode...mb.getExpressionString()=" + mb.getExpressionString());
                        //mb.invoke(context, new Object[0]);
                        mb.invoke(context, new Object[1]);
                    ActionEvent actionEvent = new ActionEvent(specialBtnComponent);
                    specialBtnComponent.queueEvent(actionEvent);
            catch (EvaluationException ex)
                ex.printStackTrace();
        public void encodeEnd(FacesContext context, UIComponent component) throws java.io.IOException
            SpecialBtnComponent specialBtnComponent = (SpecialBtnComponent) component;
            ResponseWriter writer = context.getResponseWriter();
            String clientId = component.getClientId(context);
            value = (String) component.getAttributes().get("value");
            if (value == null)
                value = "defaultValue";
            buildSpecialBtn(writer, value, clientId, specialBtnComponent);
        private void buildSpecialBtn(ResponseWriter writer, String value, String clientId, SpecialBtnComponent component) throws java.io.IOException
            writer.startElement("table", component);
            writer.startElement("tbody", component);
            writer.startElement("tr", component);
            writer.startElement("td", component);
            value = String.valueOf(value);
            writer.startElement("input", component);
            writer.writeAttribute("type", "submit", null);
            writer.writeAttribute("name", clientId, "clientId");
            writer.writeAttribute("value", value, null);
            writer.endElement("input");
            writer.endElement("td");
            writer.endElement("tr");
            writer.endElement("tbody");
            writer.endElement("table");
    web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
      <display-name>pagerWEB</display-name>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
      </servlet-mapping>
      <jsp-config>
        <taglib>
          <taglib-uri>http://jsfcustomcomponent/</taglib-uri>
          <taglib-location>/WEB-INF/jsfcustomcomponent.tld</taglib-location>
        </taglib>
      </jsp-config>
    </web-app>

  • Constructor in object not invoked

    Hi,
    I'm loading an object collection via the following SQL and am fnding that the constructor for each instance of the object table is not invoked:
    declare
    tb_Msg_Batch tb_Msg := tb_Msg();
    begin
    select cast(multiset (
    select ddq.Entry_No
    ,10
    ,ddq.Entry_Data
    from Datadist_Queue_01 ddq
    where ddq.Entry_No = 1
    ) as tb_Msg
    into tb_Msg_Batch
    from dual;
    end;
    The following is the decleration used for the above objects:
    create or replace type ty_Msg as object
    (Entry_No number(10)
    ,Msg_Code number(5)
    ,Data_Msg blob
    ,constructor function ty_Msg return self as result)
    create or replace type body ty_Msg as
    constructor function ty_Msg (self in out nocopy ty_Msg) return self as result as
    begin
    self.Msg_Code := -999;
    return;
    end;
    end;
    create type tb_Msg as table of ty_Msg
    I thought a default constructor is always called, but when I view the data the MSG_CODE attribute has a value of 10 instead of -999, which is what it is assigned in the function.
    Could somebody please advise as to why the constructor function is not invoked for each instance of TY_MSG when populating a collection of that type?
    Thanks
    Peter

    public Void save_as()
    Void should be "void" not "Void"...

Maybe you are looking for

  • Could not open key

    Every time I try to upgrade QuickTime, a box opens saying: Could not open key HKEYLOCALMACHINE\Software\Classes\QuickTimePlayerlib.QuickTimePlayerApp\CLSID. Verify that you have sufficient access to that key, or contact your support personal. PLEASE

  • Complaint about Edit/Find in Tiger Finder

    Am I the only one who thinks the new Find command in Tiger Finder is one or more steps backward? I only use Find to perform manual synchronizations between two computers, office and home. There are seven folders in which files might have been modifie

  • Stand alone to MSCS

    Hi, Currently our system are running on ECC 6 (ABAP Only / Non-Unicode) / Oracle 10G standalone server, but later will be move to a High Availability environment on Windows 2003 (Same Server , no need to perform system copy). Questions : Based on the

  • Can an ipad connect to a dell printer?

    I just bought my ipad, but I'm not sure if it will connect to my dell printer. I know I can download an app to print but im not sure which ones will allow access to a dell printer, if any will. Help!!

  • Namespace not define Error in IR when activate object..

    Hi, I am getting the name space not defined error when I try to activate the object in the IR even though I have defined the above namespace in this software component version. Could some body point me where I am missing.This might be a basic setting