Null/Empty Strings use in ESB Database Adapter

Hi
I'm trying to use a database adapter to execute an update on a table with a composite primary key; one of the primary key columns sometimes contains an empty string, however whenever I try to call the adapter, it always converts this to a null value. Is there an easy way to force the adapter to use an empty string instead of a null?
Thanks.

the idea here is to execute the dbms statement, or the setpolicycontext statement in a db session, and being able to execute the next sql statement in the same db session.
This is possible with consecutive database adapters sharing the same db session.
and two db adapters sharing the same db session is possible, if you make sure that the bpel is participating in the db transaction which can be made possible via xa db connections.
Hope this helps,
Write back in case you need more info.

Similar Messages

  • How to include a response element in the ESB database adapter.

    hi,
    i am using the dbadapter to insert the data into the table successfully.
    The problem is when i am using a db adapter it doesnot include a response element in its wsdl.I want to send a response to the client as and when the data got inserted from the dbadapter for that transaction.
    i tried using the pl/sql procedure with a out parameter which returns the response but the problem is the pl/sql is called by adapter only once though i am using for each constructor.
    i tried to modify the xsd generated by the dbadapter by including the response element,but the xsd is not getting parsed and throwing error.
    how to overcome this problem and send a immediate response to the client as and when the adapter inserts the data into oracle?
    thanks in advance.

    Although not the cleanest solution, but can't you create another routing service which defines a request (equal to the request element of the original routing service) and reply element (defining a single element called success or something).
    Then have this new routing service invoke your original routing service which invokes the database adapter. Now define a XSLT map for the reply of the new routing service and put an XSL text there with the value "success" or something?
    So:
    Routing_service_new --> Routing_service_original --> database_adapter
    Regards, Ronald

  • Issue in ESB Database Adapter

    hi
    I have a requirement where the database adapter has to poll for a particular status like NOT STARTED in table and
    based on the status change it should trigger a service asynchronously and then it should immediately update the
    status as STARTED.
    The configuration steps done in the wizard:
    Step 3 - Poll for New or Changed records in a Table
    Step 7 - we selected the operation to perform after the data is read from the database, and Update the Field in the table
    Step - 8 we Selected the Logical Field as table Column Status and
    Read Value: STARTED and Unread Value : NOT STARTED
    Database Rows per Transaction is Unlimited and also delay commit, Distributed Polling and Poll for child Updates are
    not selected.
    The database adapter is not stable at some point of time, it is not updating the status from NOT STARTED to
    STARTED after invoking the service asynchronously. Hence the whole process is repeating after some
    time interval because of the status remaining as NOT STARTED.
    Thanks

    Hi,
    No it is not a bug, I think. If you created your query by choosing from imported tables/views and related those using the wizard, the only way to change them is to re-import the tables and basically redefine your database adapter.
    It's a pity, but that's how it is (also in 10.1.2 I saw recently).
    Regards,
    Martien

  • Problem after restart of a database used by a database adapter in SOA suite

    We are migration from Oracle interconnect to SOA suite. I am a bit worried that I am taking a backwards step in robust drift. I restarted a Oracle database that is used as an end point in both interconnect and SOA. In both cases the database adapter in interconnect and the partner link in SOA start throwing java error messages. This is not the problem, what worries me is that with Interconnect restarting the database adapter allows queued messages to be written to the database, nothing goes missing. But with SOA suite the messages that could not be delivered before restarting SOA suite end as "canceled" that is to say they do NOT get completed. What happened to guaranteed transaction delivery? or am i missing something.

    Hi,
    The JNDI Name to use for the service connection is "eis/DB/soademoDatabase".
    This Database is a requirement of the course... (Chapter 4 of Getting Started with Oracle SOA Suite 11g R1 - A Hands-On Tutorial).

  • Problem inserting a clob using bpel and database adapter

    We are having issues inserting a clob field into the database when the data is over 4000 characters. Anything under 4000 characters works fine.
    The error we are seeing is "Error while converting to a Java struct object. Unable to convert XSD element P_RESPONSE_ARRAY_ITEM whole user defined type is QC_CRCBT_PKG_RESPONSE_TYPE. Cause: java.lang.ClassCastException: oracle.sql.CLOB; nested exception is: ORABPEL-11802"
    We are using BPEL 10.1.3.3 and a database adapter. THE PL/SQL parameter decomposes to a clob type. Again, anything under 4000 characters works fine.
    Any ideas?

    This is likely due to Bug-6629539, which has just been identified and fixed in 11. You can request a one-off patch for this bug (i.e. a BLR off of the 10.1.3.3.0 release label).

  • Database Adapter using Logical Delete Polling Strategy not updating field

    I have an ESB database adapter defined against a table. The adapter is set to use the Logical Delete Polling Strategy, and the table has an extra column defined as the "delete" field. When I register the adapter to the ESB and add a record to the table, the adapter reads the contents of the record as expected. However, 15 seconds later (that being the polling interval) it reads it again, and again 15 seconds after that, ad infinitum.
    I have defined the logical delete field as a single character field and set the Read value for "T" (a record is normally inserted with that field having a null value). Results as outlined in the previous paragraph. I redefined the field as a number and set the Read value to "1" (with a record normally inserted with that field having a value of "0"). Results as outlined in the previous paragraph.
    Apparently the update of the logical delete value to the Read value is not occurring. My question (obviously) is: Why?
    Thanks for your time.

    Here is the adapter WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
    name="Poll_PM_LOG"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/Poll_PM_LOG/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/Poll_PM_LOG/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/"
    xmlns:top="http://xmlns.oracle.com/pcbpel/adapter/db/top/PollPMLOG"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/PollPMLOG"
    schemaLocation="PollPMLOG_table.xsd"/>
    </schema>
    </types>
    <message name="LogCollection_msg">
    <part name="LogCollection" element="top:LogCollection"/>
    </message>
    <portType name="Poll_PM_LOG_ptt">
    <operation name="receive">
    <input message="tns:LogCollection_msg"/>
    </operation>
    </portType>
    <binding name="Poll_PM_LOG_binding" type="tns:Poll_PM_LOG_ptt">
    <pc:inbound_binding/>
    <operation name="receive">
    <jca:operation
    ActivationSpec="oracle.tip.adapter.db.DBActivationSpec"
    DescriptorName="PollPMLOG.Log"
    QueryName="Poll_PM_LOG"
    PollingStrategyName="LogicalDeletePollingStrategy"
    MarkReadFieldName="PROCESSED"
    MarkReadValue="T"
    SequencingFieldName="ID"
    MaxRaiseSize="1"
    MaxTransactionSize="unlimited"
    PollingInterval="15"
    NumberOfThreads="1"
    UseBatchDestroy="false"
    ReturnSingleResultSet="false"
    MappingsMetaDataURL="PollPMLOG_toplink_mappings.xml" />
    <input/>
    </operation>
    </binding>
    <service name="Poll_PM_LOG">
    <port name="Poll_PM_LOG_pt" binding="tns:Poll_PM_LOG_binding">
    <jca:address location="eis/DB/PM"
    UIConnectionName="PM"
    ManagedConnectionFactory="oracle.tip.adapter.db.DBManagedConnectionFactory"
    />
    </port>
    </service>
    <plt:partnerLinkType name="Poll_PM_LOG_plt" >
    <plt:role name="Poll_PM_LOG_role" >
    <plt:portType name="tns:Poll_PM_LOG_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    The field PROCESSED is defined as CHAR(1), and is normally null when a record is inserted. The value of the field is to be set to 'T' when the record is read by the polling adapter.

  • Parameters To Include Null Or Empty String Values

    I have a table that has both Nulls & Empty Strings that I want to use as a Dynamic Parameter.  Even though there is an indication of the Null/Empty String value when the parameter prompt comes up, selecting the value of Null/Empty String results in no records being returned.  I have a formula to display the values in the report (where I substitute "Unknown" for the Null/Empty String values), but I am not able to do a parameter on that formula.
    I guess in general, this is a situation of needing to be able to use a Dynamic Parameter based on a formula field.
    Thanks for any assistance!  
    Edited by: Dragon77 on Apr 2, 2010 9:39 AM

    I'd use a SQL Command as the data source for the list of values. Something like this... (MS SQL Server)
    SELECT DISTINCT
    CASE WHEN t.StringField IS NULL OR  t.StringField LIKE ''
         THEN 'Unknown' ELSE  t.StringField END AS  StringField
    FROM TableName AS t
    ORDER BY  StringField
    Then use a formula like this in the selection criteria.
    IF {?Parameter} = "Unknown"
    THEN (ISNULL ({TableName.StringField}) OR {TableName.StringField} LIKE "")
    ELSE {TableName.StringField} = {?Parameter}
    HTH,
    Jason

  • Using Database Adapter

    Hi all,
    Is it possible to read data from multiple tables using the database adapter.
    say for example i have 2 tables
    first table gives details abt person personal details like name ,age,etc.
    second table gives details abt person offical detaisl lik company,experience.
    how to i read the details from 2 tables using a single database adapter.is it possible to read that way?
    any suggestions!!
    Thanks ,
    Karthik

    After the imports you have select the relationships between the tables and the proceed to customize your query.
    Take some time and do some simple select sample exercises and you must be clear.
    Thanks,
    Prabu

  • Conditional where clauses in database adapter

    I am trying to write a query in a database adapter that allows for conditional where clauses. Specifically, I want to include or not include a where clause (and clause) if an input variable is empty or not. Can a prepared statement with lexical parameters be used in a database adapter? Or is there another way to do this?
    Thanks in advance.

    I am afraid that you can only bind parameters to the SQL, you can't bind the SQL itself to the SQL. We do have QueryByExample support, where based on what fields are set in an example object, it will construct a different SQL select.
    If you pass in
    <Address>
    <street/>
    <city>
    <state>CA</state>
    </Address>
    it will return all addresses in California. If you pass in:
    <Address>
    <street/>
    <city>Los Angeles</city>
    <state/>
    </Address>
    it will return all addresses in Los Angeles.
    Thanks
    Steve

  • SQLServer Exception and Database Adapter. Please Help!!

    Hello Everyone!
    I've been trying during a whole week to insert a row in an SQLServer Database table from a BPEL Process using the database adapter. But I've never had success, I will show you the table, the XML used to do the insert with the DB adapter and the exception, I hope that someone will help me.
    The Table:
    CREATE TABLE [dbo].[Solicitudes](
         [NumSolicitud] [int] IDENTITY(1,1) NOT NULL,
         [NifSol] [varchar](9) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Destino] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Motivo] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [FechaS] [datetime] NOT NULL,
         [FechaR] [datetime] NOT NULL,
         [InformeDirDep] [varchar](max) COLLATE Modern_Spanish_CI_AS NULL,
         [VoBoDirDep] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoDirDep] DEFAULT ((2)),
         [FirmaDirDep] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [VoBoDirCen] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoDirCen] DEFAULT ((2)),
         [FirmaDirCen] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [MedioLocom] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Matricula] [varchar](max) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [Credito] [varchar](10) COLLATE Modern_Spanish_CI_AS NOT NULL,
         [CantidadEst] [float] NOT NULL,
         [VoBoRespCredito] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoRespCredito] DEFAULT ((2)),
         [FirmaRespCredito] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [VoBoRector] [int] NOT NULL CONSTRAINT [DF_Solicitudes_VoBoRector] DEFAULT ((2)),
         [FirmaRec] [varchar](9) COLLATE Modern_Spanish_CI_AS NULL,
         [FechaFirmaRec] [datetime] NULL,
         [FirmaSolicitante] [varchar](max) COLLATE Modern_Spanish_CI_AS NULL,
         [FechaSol] [datetime] NOT NULL,
    CONSTRAINT [PK_Solicitudes] PRIMARY KEY CLUSTERED
         [NumSolicitud] ASC
    )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
    ) ON [PRIMARY]
    The XML:
    <InvokeAdapter_insert_InputVariable>
    <part name="SolicitudesCollection" >
    <SolicitudesCollection>
    <Solicitudes>
    <CantidadEst>250.73</CantidadEst>
    <Credito>Crédito21</Credito>
    <Destino>Destino2</Destino>
    <FechaR>2007-04-14T12:45:51.924</FechaR>
    <FechaS>2007-04-14T12:45:51.908</FechaS>
    <FechaSol>2007-04-14T12:45:51.939</FechaSol>
    <FirmaSolicitante>Signature26</FirmaSolicitante>
    <Matricula>Matrícula20</Matricula>
    <MedioLocom>MedioLocomoción19</MedioLocom>
    <Motivo>Motivo3</Motivo>
    <NifSol>12345678S</NifSol>
    </Solicitudes>
    </SolicitudesCollection>
    </part>
    </InvokeAdapter_insert_InputVariable>
    And the Exception (Translated from spanish):
    Descripción de Excepción: com.microsoft.sqlserver.jdbc.SQLServerException: El nombre de objeto 'SEQUENCE' no es válido. Excepción Interna: com.microsoft.sqlserver.jdbc.SQLServerException: El nombre de objeto 'SEQUENCE' no es válido. Código de Error: 208
    Exception Description: com.microsoft.sqlserver.jdbc.SQLServerException: invalid object name 'SEQUENCE'. Internal Exception: com.microsoft.sqlserver.jdbc.SQLServerException: invalid object name 'SEQUENCE'. Error Code: 208
    Why do i have this exception? Please help!!

    Hi peter, thanks for answering!!
    I don't have anything called sequence so i don't know why I have this error. The steps described in the page you sent to me were followed and the connection is good.
    Do you know if there's any way to know the SQL query executed or the jdbc classes used by the database adapter?
    Regards Antonio
    P.D. I'm using SQL Server Express 2005

  • Dynamic where clause in database adapter

    Hi
    I have requirement to develop SOA service for search page! The back-end query for search is required to have where clauses to be appended to SELECT statement dynamically depending upon search criteria the user selects!
    E.g. if user is searching employee from a portal! If employee selects mobile number of the employee, or joining date range or other criteria, then accordingly appropriate clauses are to be appended to SEARCH SELECT statement.
    Can we achieve same while implementing executing database query through database adapter from BPEL service?
    Thanks In Advance
    Priyadarshi 

    It is difficult using the standard database adapter approach. You may have to use nested sql queries.Following is a good example of the same.
    Neeraj Sehgal - Experimenting with SOA: Pass multiple parameters, dynamic query in Pure SQL in Database Adapter
    If your only problem in using this that you are hard coding the connection details  , you can use the datasource jndi name in the query. hence you will not be required to change your code when moving from one env to other env. You just have to take care of keeping the jndi name same in all the env.

  • Database Adapter Connection to EBusiness Suite Issue

    I have a process that creates records in the EBusiness Suite using the BPEL Database Adapter. The adapter calls a single wrapper procedure that internally calls 4 TCA APIs one after the other. There appears to be an USERENV LANG issue during the final api that is called. The LANG needs to be US but the SQL Worksheet in JDeveloper BPEL Designer returns GB which I suspect is the value the adapter has when it connects to the eBusiness Suite.
    How can the value of the LANG be set for the adapter ? My Environment variable for NLS_LANG is set to AMERICAN_AMERICA.WE8ISO8859P1. My various Oracle homes are also set to this value.
    I have also tried FND_GLOBAL.APPS_INITIALIZE procedure to effectively 'log on' to the EBS but this returns an error. The same wrapper package called directly from SQL*Plus works perfectly (where USERENV LANG is US). Solutions welcome !

    The issue was resolved by adding the following to the start of the wrapper procedure:
    EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_LANGUAGE = ''AMERICAN''';

  • JCA database adapter issue due to database schema dependency

    Hi,
    I am using the JCA database adapter to call a stored procedure. The adapter uses the database schema name while calling the Stored procedure. The schema name is added in the namespace of XSD, wsdl files.
    If I have to use a different database schema name, how can I update the existing code without much modification.
    Thanks!

    Thanks for your reply Prabhu.
    But the modification in JCA file is resulting in the following Exception.
    I think this change has resulted in references related issue. Please let me know if any further changes are required.
    <> <Error> <oracle.soa.adapter> <BEA-000000> <JCABinding=> Could not invoke operation against the 'Database Adapter' due to:
    BINDING.JCA-11811
    Stored procedure invocation error.
    Error while trying to prepare and execute the old_schema_name.stored_procedure_name.
    An error occurred while preparing and executing the old_schema_name.stored_procedure_name.
    API. Cause: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00201: identifier old_schema_name.stored_procedure_name.
    must be declared
    ORA-06550: PL/SQL: Statement ignored

  • File to database adapter error

    I am trying to run the File2Database example shipped as part of database adapter samples.Though i have created the tables and modified oc4j-ra.xml as mentioned in readme file.I am getting merge error followed by table or view does not exist,but tables do exist under schema specified in oc4j-ra.xml.Do i need to configure anything else.Please let me know if anyone has faced similar problem.
    This is the log :
    =====================
    <2005-06-15 16:26:59,056> <INFO> <default.collaxa.cube.ws> <AdapterFramework::Outbound> Since unable to locate the JCA Resource Adapter deployed at 'eis/MyDBConnection', will then attempt to instantiate ManagedConnectionFactory oracle.tip.adapter.db.DBManagedConnectionFactory directly.
    <2005-06-15 16:27:08,738> <INFO> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.ox.TopLinkXMLProjectInitializer initialize> Initializing an existing toplink project for use by the database adapter.
    <2005-06-15 16:27:09,755> <ERROR> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.DBInteraction executeOutboundWrite> unable to execute the outbound merge operation on: File2Table.Purchaseorder
    <2005-06-15 16:27:09,817> <ERROR> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/D:/OraBPELPM/integration/jdev/jdev/myWork/File2Table/DBOutbound.wsdl [ DBOutbound_ptt::merge(PurchaseorderCollection) ] - Could not invoke operation 'merge' against the 'Database Adapter' due to:
    ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    merge failed. Descriptor name: [File2Table.Purchaseorder].
    Caused by Local Exception Stack:
    Exception [TOPLINK-4002] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException
    Exception Description: java.sql.SQLException: ORA-00942: table or view does not exist
    Internal Exception: java.sql.SQLException: ORA-00942: table or view does not exist
    Error Code: 942
    at oracle.toplink.exceptions.DatabaseException.sqlException(DatabaseException.java:227)
    at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:698)
    at oracle.toplink.threetier.ServerSession.executeCall(ServerSession.java:506)
    at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(CallQueryMechanism.java:131)
    Regards
    Raju

    Hi Raju,
    Looking at the error your DBOutbound.wsdl has [location="eis/MyDBConnection"] although the sample shipped has [location="eis/DB/BPELSamples"]. So, I am guessing you have either modified the sample manually, or you may have rerun the db adapter wizard which could have caused this change. So, you could fix this in one of the following ways:
    1. Start with a fresh sample and follow the instructions to the dot
    2. Go ahead and define an entry in oc4j-ra.xml for eis/MyDBConnection with the appropriate connection parameters
    3. Currently, when the jndi name is not defined in the oc4j-ra.xml, the runtime tries to work with the design time connection information which is captured in the DBOutbound.wsdl. In your case, this doesn't seem to work for either of the following reasons: your runtime connection is different from design time connection, or else the design time connection info is not valid for the runtime assuming it is running on different m/c. I could pinpoint what is wrong if I had access to the DBOutbound.wsdl file.
    Couple of other best practices while we are on this issue:
    - the location attribute which ties the design time and runtime together follows a convention so that we don't have to make sure that it is unique across all of the various adapters: to help out on this front, we follow the convention of eis/<AdapterAbbrev>/<connectionName>. So, I'd change yours to eis/DB/MyDBConnection. By default the wizard generates locations using this convention although it is hand-editable.
    - from another error message below "file:/D:/OraBPELPM/integration/jdev/jdev/myWork/File2Table/DBOutbound.wsdl [" I get the feeling that you are copying the sample elsewhere. Is there a need to do that ? You could just add the jdev project (.jpr) for this sample to any existing jdev workspace and you should be able to deploy from there w/o making any changes. This approach would be preferable and would have helped you from running into the set of issues that you are seeing.
    Let me know if the above makes sense.
    Cheers,
    Shashi

  • Using Convert to handle NULL values for empty Strings ""

    After having had the problem with null values not being returned as nulls and reading some suggestion solution I added a converter to my application.
      <converter>
        <converter-id>NullStringConverter</converter-id>
        <converter-for-class>java.lang.String</converter-for-class>
        <converter-class>com.j2anywhere.addressbookserver.web.NullStringConverter</converter-class>
      </converter>
    ...I then implemented it as follows:
      public String getAsString(FacesContext context, UIComponent component, Object object)
        System.out.println("Converting to String : "+object);
        if (object == null)
          System.out.println("READING null");
          return "NULL";
        else
          if (((String)object).equals(""))
            System.out.println("READING null (Second Check)");
            return null;       
          else
            return object.toString();
      public Object getAsObject(FacesContext context, UIComponent component, String value)
        System.out.println("Converting to Object: "+value+"-"+value.trim().length());
        if (value.trim().length()==0 || value.equals("NULL"))
          System.out.println("WRITING null");
          return null;
        else
          return value.toUpperCase();
    ...I can see that it is converting my values, however the object to which the inputText fields are bound are still set to empty strings ""
    <h:inputText size="50" value="#{addressBookController.contactDetails.information}" converter="NullStringConverter"/>Also when reading the object values any nulls are already converted to empty strings before ariving at the converter. It seems that there is a default converter handling string values.
    How can I resolve this problem as set nulls when the input value is an empty string other then checking every string in my class individually. I would really hate to pollute my object model with empty string tests.
    Thanks in advance
    Edited by: j2anywhere.com on Oct 19, 2008 9:06 AM

    I changed my converter as suggested :
      public Object getAsObject(FacesContext context, UIComponent component, String value)
        if (value == null || value.trim().length() == 0)
          if (component instanceof EditableValueHolder)
            System.out.println("SUBMITTED VALUE SET TO NULL");
            ((EditableValueHolder) component).setSubmittedValue(null);
          else
            System.out.println("COMPONENT :"+component.getClass().getName());
          System.out.println("Converting to Object: " + value + "< to " + null);
          return null;
        System.out.println("Converting to Object: " + value + "< to " + value);
        return value;
      }which produces the following output :
    SUBMITTED VALUE SET TO NULL
    Converting to Object: < to null
    Info : The INFO line however comes from my controller object where I print out the set value :
    package com.simple;
    import java.util.ArrayList;
    import java.util.List;
    public class Controller
      private String information;
      /** Creates a new instance of Controller */
      public Controller()
        System.out.println("Createing Controller");
        information = "Constructed";
      public String process()
        System.out.println("Info : "+getInformation());
        return "processed";
      public String reset()
        setInformation("Re-Constructed");
        System.out.println("Info : "+getInformation());
        return "processed";
      public String setNull()
        setInformation(null);
        System.out.println("Info : "+getInformation());
        return "processed";
      public String getInformation()
        return information;
      public void setInformation(String information)
        this.information = information;
    }I also changes my JSP / JSF page a little. Here is the updated version
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%--
        This file is an entry point for JavaServer Faces application.
    --%>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
      </head>
      <body>
        <f:view>
          <h:form>
            <h:inputText id="value" value="#{Controller.information}"/>
            <hr/>
            <h:commandLink action="#{Controller.process}">
              <h:outputText id="clicker" value="Process"/>
            </h:commandLink>             
            <hr/>
            <h:commandLink action="#{Controller.reset}">
              <h:outputText id="reset" value="Reset"/>
            </h:commandLink>             
            <hr/>
            <h:commandLink action="#{Controller.setNull}">
              <h:outputText id="setNull" value="Set Null"/>
            </h:commandLink>             
          </h:form>
        </f:view>
      </body>
    </html>The converter is declared for the String class in the faces configuration file. From the log message is appears to be invoked, however the object is not set to null.
    I tested this with JSF 1.2_04-b20-p03 as well as 1.2_09-b02-FCS.
    any other suggestions what could be causing this.

Maybe you are looking for

  • Need to transfer files from iBook G4 To New Macbook Pro 13" HELP!

    My iBook G4 has a firewire 400 port, whereas the Macbook Pro has an 800 port. I am about to order a cable so that I can transfer my files via migration assistant, but just want to double check here to see if it will work. (I am getting VERY confused

  • Pan and Scan and zoom

    The pan,scan and zoom on a still photo seems to be much smoother on the cheaper application 'Photo to Movie' than it is with FCE. Is it thus better to do those movements on a still on PtoM and then import them into FCE ? I am working with FCE 2. Anyo

  • Error in Discovery Status

    Hello, When I click on the "Completed" for Discovery  Status in Common Services>Home>Device Credentials and Admin it is  appeared an error that is in the attached jpg. Can you help me for troubleshooting that error? PS: LMS 3.0.1

  • BACKGROUND JOB & APPEND FILE?

    Hi     I have a requirement  , i have created a program  and taking its output in text file through direct execution, using FM gui_download . and i want to schedule it to execute after every 15 minute.and Append the same text file with new values and

  • HTML doesn't display after generating the HTML files.

    There don't seem to be any errors during the generation of the HTML help project, but when I view the results, the content doesn't display and the window displays the following: Navigation to the webpage was canceled