Serialization vs java.io

Hi,
I understand that serialization is used to save the objects state in a file. But how is serialization helpful as we can achieve the same thing using the java.io package?
Thanks

Neha_Khands wrote:
Can you please tell me what are the different ways to save an object's state other than using serialization?There are many, many ways. Here are some of them:
- You can use XMLEncoder to write XML in a generic format
- You can use JAXB to write out a custom, specific XML format
- You can use Serialization to write a generic binary format (which you can influence by implement the Externalizable interface, making that a partially custom format).
- You can write out your data manually in a custom binary format using a DataOutputStream
- You can write out your data manually in a custom text format using Writers
It's always a trade-off between:
- amount of code to write
- ease of manipulation of the data
- human readability of the output
- size of the output file
- ...

Similar Messages

  • Serialization error: java.lang.ClassCastException: [Ljava.lang.Object;

    hi
    i am accessing dot net web service from java using jax rpc dii. Input to web service is simple string and output is also string.
    i am getting following error
    serialization error: java.lang.ClassCastException: [Ljava.lang.Object;
    the above exception is coming from following code
    call.setProperty(ENCODING_STYLE_PROPERTY ,"");
    QName qts = new QName("http://www.w3.org/2001/XMLSchema", "string");
    call.addParameter("String_1", qts, ParameterMode.IN);
    call.setReturnType( qts);
    call.setOperationName( new QName(URI , "hello")); //hello mthd name
    TypeMappingRegistry dt=
    (TypeMappingRegistry)svc.getTypeMappingRegistry();
    Object[] inParams = new Object [] {"win"} ;
    String res = (String)call.invoke(inParams) ;
    i am not able to find out what the error is ??
    pls help.............

    I tried using
    String [] lparams = new String {"win"};
    but no success same eror
    serialization error: java.lang.ClassCastException
    do we have to register any serializer for the parameters we pass ??
    any solution will be of great help ...
    my code is as follows
    String URI ="http://tempuri.org/";
    String SOACT="http://tempuri.org/hello";
    QName qname=new QName(URI,"AddNumbers");
    ServiceFactory serviceFactory= ServiceFactory.newInstance();
    Service svc=serviceFactory.createService( qname );
    Call call=svc.createCall();
    call.setTargetEndpointAddress("http://samrat/service/addservice.asmx" );
    call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOACT);
    String ENCODING_STYLE_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri";
    call.setProperty(ENCODING_STYLE_PROPERTY ,"");
    call.setOperationName( new QName(URI , "hello"));
    TypeMappingRegistry dt=(TypeMappingRegistry)svc.getTypeMappingRegistry();
    Object inParams [] = new String [] {"win"} ;
    Object res = (String)call.invoke(inParams) ; <--here i am getting error
    i am accessing simple dot net web service servicename is hello which takes a string and returns same string ..
    Any way thanxs for your suggestions .. keep on replying hope to solve this error asap ..
    thanx once again
    Samrat.A.Barve

  • Serialization and Java bytecode version

    I have the following scenario: the server sends serialized objects compiled with java 1.5 (the source code is compilable with java 1.4) to clients running java 1.4. I thought I would have problems and conflicts of java versions but the application runs fine. Is there any risk in such scenario? I mean, would it be better if I compiled with java 1.4 on the server side only those classes whose objects are sent as serialized objects to the java 1.4 clients or is it not necessary?

    cotton.m wrote:
    In the future Serialization related questions should be posted into the appropriate forum.Okay, sorry for this inconvenience.
    What you are doing may be okay but you need to be careful. I hope you have a serialID at least? Yes, I have an explicit and generated by serialver tool serial id.
    The question of 1.4 to 1.5 compatibility is best checked by compiling that code to 1.4 using the javac source and target parameters.Surprisingly I am defining source and target with 1.5, and the application works perfectly. I believe what matters is the bytecode version, that, in my case, even with source and target equal to 1.5 in the moment of compilation, is equal to 48.0.

  • Oracle, Serializable and java.sql.SQLException

    I'm reading in the weblogic documentation about serializable transactions
    and Oracle at:
    http://www.weblogic.com/docs51/classdocs/API_ejb/EJB_environment.html
    I've excerpted below the section of interest. Essentially it says that if
    you want to use an isolation level of SERIALIZABLE with Oracle,
    you must be prepared to catch and retry transactions which fail due
    to the "can't serialize access for this transaction". What I don't understand,
    is where do I catch this exception. The doc below suggests that it
    is in the EJB client code. By this, I assume it should be caught
    by any client calling into an EJB method which is starting a transaction.
    What I don't understand is I didn't think that ejb methods threw a
    java.sql.SQLException. How can I catch this exception? The
    exception is caused at commit time, which I don't have any
    direct control over since I am using CMP.
    Do I then need to inspect the exception text for the string:
    "ORA-08177: can't serialize access for this transaction", in order
    to determine whether to retry the transaction?
    Is there any sample code for this. I just need to know where
    the exception should be caught in my code, and how to
    inspect the exception (scanning text based error messages
    sounds problematic, since the exact message text might
    change over versions of the database and deployment, etc.).
    I am planning on using CMP, so I am not making any
    jdbc calls directly.
    Jason
    Special note for Oracle Databases
    Keep in mind that Oracle uses optimistic concurrency. As a consequence, even with a setting of TRANSACTION_SERIALIZABLE, Oracle does
    not detect serialization problems until commit time. The message returned is:
    java.sql.SQLException: ORA-08177: can't serialize access for this transaction
    Even if you use the TRANSACTION_SERIALIZABLE setting for an EJB, you may receive exceptions or rollbacks in the EJB client if
    contention occurs between clients for the same rows. To avoid these problems, you must ensure that clients catch and examine the SQL
    exceptions, and take appropriate action, such as restarting the transaction.
    Jason Rosenberg
    SquareTrade
    (remove 'nospam' from my return address)

    I'm reading in the weblogic documentation about serializable transactions
    and Oracle at:
    http://www.weblogic.com/docs51/classdocs/API_ejb/EJB_environment.html
    I've excerpted below the section of interest. Essentially it says that if
    you want to use an isolation level of SERIALIZABLE with Oracle,
    you must be prepared to catch and retry transactions which fail due
    to the "can't serialize access for this transaction". What I don't understand,
    is where do I catch this exception. The doc below suggests that it
    is in the EJB client code. By this, I assume it should be caught
    by any client calling into an EJB method which is starting a transaction.
    What I don't understand is I didn't think that ejb methods threw a
    java.sql.SQLException. How can I catch this exception? The
    exception is caused at commit time, which I don't have any
    direct control over since I am using CMP.
    Do I then need to inspect the exception text for the string:
    "ORA-08177: can't serialize access for this transaction", in order
    to determine whether to retry the transaction?
    Is there any sample code for this. I just need to know where
    the exception should be caught in my code, and how to
    inspect the exception (scanning text based error messages
    sounds problematic, since the exact message text might
    change over versions of the database and deployment, etc.).
    I am planning on using CMP, so I am not making any
    jdbc calls directly.
    Jason
    Special note for Oracle Databases
    Keep in mind that Oracle uses optimistic concurrency. As a consequence, even with a setting of TRANSACTION_SERIALIZABLE, Oracle does
    not detect serialization problems until commit time. The message returned is:
    java.sql.SQLException: ORA-08177: can't serialize access for this transaction
    Even if you use the TRANSACTION_SERIALIZABLE setting for an EJB, you may receive exceptions or rollbacks in the EJB client if
    contention occurs between clients for the same rows. To avoid these problems, you must ensure that clients catch and examine the SQL
    exceptions, and take appropriate action, such as restarting the transaction.
    Jason Rosenberg
    SquareTrade
    (remove 'nospam' from my return address)

  • Calling Serializer from Java

    Hi,
    I am calling xsql from Java.
    Can I set FOPserializer with help of oraclesql like i can set other attribute of xsql.
    e.g
    OracleXMLQuery ors = new OracleXMLQuery(conn, selectStmt);
                   ors.setRaiseNoRowsException(false);
    ors.setSkipRows(skipRows);
    ors.setMaxRows(maxRows);
    an example would be helpful.
    Thanks in advance
    Raju

    The FOPSerializer (and the concept of serializers in general) is a feature of the XSQL Pages Framework. Your code example here is using the XML SQL Utility's OracleXMLQuery class. To use XSQL programmatically, you should use the oracle.xml.xsql.XSQLRequest class, documented in the XSQL Online Documentation
    hope this helps.

  • Serialization of java.sql.Connection

    Hi ,
    I just came across a input from my colleague that Connection object once created are not serializable across jvm's
    Is it true??
    fast yes or no will help my curosity ....giving reason also will be genrousity ...anyway I will test this now

    It can't be done.
    The reason is that a connection uses a network resource (such as a TCP/IP socket) which uses the network stack on the machine, and eventually the machine's hardware. It is not possible to serialize things like a connected socket, because it's significance is machine-specific, not only in terms of a virtual address (such as an IP address), but also in terms of the way the operating system is using the hardware.
    Serialization is only good if what you're serializing is only data.
    Rhys

  • Issue with POF serialization - Failure to deserialize an Invocable object: java.io.StreamCorruptedException

    Am running into following exception even after following all guidelines to implement POF. The main objective is to perform Distributed Bulk cache loading.
    Oracle Coherence GE 3.7.1.10 <Error> (thread=Invocation:InvocationService, member=1): Failure to deserialize an Invocable object: java.io.StreamCorruptedException: unknown user type: 1001
    java.io.StreamCorruptedException: unknown user type: 1001
      at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3312)
      at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2604)
      at com.tangosol.io.pof.ConfigurablePofContext.deserialize(ConfigurablePofContext.java:371)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.readObject(Service.CDB:1)
      at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.InvocationService$InvocationRequest.read(InvocationService.CDB:8)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.deserializeMessage(Grid.CDB:19)
      at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:31)
      at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
      at java.lang.Thread.run(Thread.java:662)
    Following is the pof-config.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
                xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config/1.1/coherence-pof-config.xsd">
      <user-type-list>
        <include>coherence-pof-config.xml</include>
        <user-type>
          <type-id>1001</type-id>
          <class-name>com.westgroup.coherence.bermuda.loader.DistributedLoaderAgent</class-name>
          <serializer>
            <class-name>com.tangosol.io.pof.PofAnnotationSerializer</class-name>     
            <init-params>
              <init-param>
                <param-type>int</param-type>
                <param-value>{type-id}</param-value>
              </init-param>
              <init-param>
                <param-type>java.lang.Class</param-type>
                <param-value>{class}</param-value>
              </init-param>
              <init-param>
                <param-type>boolean</param-type>
                <param-value>true</param-value>
              </init-param>
            </init-params>
          </serializer>
        </user-type>
         <user-type>
          <type-id>1002</type-id>
          <class-name>com.westgroup.coherence.bermuda.profile.lpa.LPACacheProfile</class-name>
          <serializer>
            <class-name>com.tangosol.io.pof.PofAnnotationSerializer</class-name>     
            <init-params>
              <init-param>
                <param-type>int</param-type>
                <param-value>{type-id}</param-value>
              </init-param>
              <init-param>
                <param-type>java.lang.Class</param-type>
                <param-value>{class}</param-value>
              </init-param>
              <init-param>
                <param-type>boolean</param-type>
                <param-value>true</param-value>
              </init-param>
            </init-params>
          </serializer>
        </user-type>
         <user-type>
          <type-id>1003</type-id>
          <class-name>com.westgroup.coherence.bermuda.profile.lpa.Address</class-name>
          <serializer>
            <class-name>com.tangosol.io.pof.PofAnnotationSerializer</class-name>     
            <init-params>
              <init-param>
                <param-type>int</param-type>
                <param-value>{type-id}</param-value>
              </init-param>
              <init-param>
                <param-type>java.lang.Class</param-type>
                <param-value>{class}</param-value>
              </init-param>
              <init-param>
                <param-type>boolean</param-type>
                <param-value>true</param-value>
              </init-param>
            </init-params>
          </serializer>
        </user-type>
         <user-type>
          <type-id>1004</type-id>
          <class-name>com.westgroup.coherence.bermuda.profile.lpa.Discipline</class-name>
          <serializer>
            <class-name>com.tangosol.io.pof.PofAnnotationSerializer</class-name>     
            <init-params>
              <init-param>
                <param-type>int</param-type>
                <param-value>{type-id}</param-value>
              </init-param>
              <init-param>
                <param-type>java.lang.Class</param-type>
                <param-value>{class}</param-value>
              </init-param>
              <init-param>
                <param-type>boolean</param-type>
                <param-value>true</param-value>
              </init-param>
            </init-params>
          </serializer>
        </user-type>
         <user-type>
          <type-id>1005</type-id>
          <class-name>com.westgroup.coherence.bermuda.profile.lpa.Employment</class-name>
          <serializer>
            <class-name>com.tangosol.io.pof.PofAnnotationSerializer</class-name>     
            <init-params>
              <init-param>
                <param-type>int</param-type>
                <param-value>{type-id}</param-value>
              </init-param>
              <init-param>
                <param-type>java.lang.Class</param-type>
                <param-value>{class}</param-value>
              </init-param>
              <init-param>
                <param-type>boolean</param-type>
                <param-value>true</param-value>
              </init-param>
            </init-params>
          </serializer>
        </user-type>
      </user-type-list>
      <allow-interfaces>true</allow-interfaces>
      <allow-subclasses>true</allow-subclasses>
    </pof-config>
    cache-config.xml
    <cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
      xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config http://xmlns.oracle.com/coherence/coherence-cache-config/1.1/coherence-cache-config.xsd">
       <defaults>
        <serializer>pof</serializer>
        </defaults>
      <caching-scheme-mapping>
      <cache-mapping>
      <cache-name>DistributedLPACache</cache-name>
      <scheme-name>LPANewCache</scheme-name>
      <init-params>
      <init-param>
      <param-name>back-size-limit</param-name>
      <param-value>250MB</param-value>
      </init-param>
      </init-params>
      </cache-mapping>
      </caching-scheme-mapping>
      <caching-schemes>
      <!-- Distributed caching scheme. -->
      <distributed-scheme>
      <scheme-name>LPANewCache</scheme-name>
      <service-name>HBaseLPACache</service-name>
      <serializer>
      <instance>
                 <class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
                 <init-params>
                   <init-param>
                     <param-type>java.lang.String</param-type>
                     <param-value>pof-config.xml</param-value>
                   </init-param>
                 </init-params>
            </instance>
      </serializer>
      <backing-map-scheme>
      <read-write-backing-map-scheme>
      <internal-cache-scheme>
      <class-scheme>
      <class-name>com.tangosol.util.ObservableHashMap</class-name>
      </class-scheme>
      </internal-cache-scheme>
      <cachestore-scheme>
      <class-scheme>
      <class-name>com.westgroup.coherence.bermuda.profile.lpa.LPACacheProfile</class-name>
      </class-scheme>
      </cachestore-scheme>
      <read-only>false</read-only>
      <write-delay-seconds>0</write-delay-seconds>
      </read-write-backing-map-scheme>
      </backing-map-scheme>
      <autostart>true</autostart>
      </distributed-scheme>
      <invocation-scheme>
           <scheme-name>InvocationService</scheme-name>
           <service-name>InvocationService</service-name>
           <thread-count>5</thread-count>
           <autostart>true</autostart>
        </invocation-scheme>
      </caching-schemes>
    </cache-config>
    DistributedLoaderAgent (user type 1001)
    import java.io.IOException;
    import java.io.Serializable;
    import java.lang.annotation.Annotation;
    import org.apache.log4j.Logger;
    import com.tangosol.io.pof.PofReader;
    import com.tangosol.io.pof.PofWriter;
    import com.tangosol.io.pof.PortableObject;
    import com.tangosol.io.pof.annotation.Portable;
    import com.tangosol.io.pof.annotation.PortableProperty;
    import com.tangosol.net.AbstractInvocable;
    import com.tangosol.net.InvocationService;
    @Portable
    public class DistributedLoaderAgent extends AbstractInvocable implements PortableObject{
      private static final long serialVersionUID = 10L;
      private static Logger m_logger = Logger.getLogger(DistributedLoaderAgent.class);
      @PortableProperty(0)
      public String partDumpFileName = null;
      public String getPartDumpFileName() {
      return partDumpFileName;
      public void setPartDumpFileName(String partDumpFileName) {
      this.partDumpFileName = partDumpFileName;
      public DistributedLoaderAgent(){
      super();
      m_logger.debug("Configuring this loader ");
      public DistributedLoaderAgent(String partDumpFile){
      super();
      m_logger.debug("Configuring this loader to load dump file "+ partDumpFile);
      partDumpFileName = partDumpFile;
      @Override
      public void init(InvocationService service) {
      // TODO Auto-generated method stub
      super.init(service);
      @Override
      public void run() {
      // TODO Auto-generated method stub
      try{
      m_logger.debug("Invoked DistributedLoaderAgent");
      MetadataTranslatorService service = new MetadataTranslatorService(false, "LPA");
      m_logger.debug("Invoking service.loadLPACache");
      service.loadLPACache(partDumpFileName);
      }catch(Exception e){
      m_logger.debug("Exception in DistributedLoaderAgent " + e.getMessage());
      @Override
      public void readExternal(PofReader arg0) throws IOException {
      // TODO Auto-generated method stub
      setPartDumpFileName(arg0.readString(0));
      @Override
      public void writeExternal(PofWriter arg0) throws IOException {
      // TODO Auto-generated method stub
      arg0.writeString(0, getPartDumpFileName());
    Please assist.

    OK I have two suggestions.
    1. Always create and flush the ObjectOutputStream before creating the ObjectInputStream.
    2. Always close the output before you close the input. Actually once you close the output stream both the input stream and the socket are closed anyway so you can economize on this code. In the above you have out..writeObject() followed by input.close() followed by out.close(). Change this to out.writeObject() followed by out.close(). It may be that something needed flushing and the input.close() prevented the flush from happening.

  • Java Bean Serialization bugs (2 of them)

    I have an EJB Primary Key with one public field - and I have hit 2 bugs trying to
    serialize it to XML. I am currently running Weblogic 7.0.0.1 - the version that shipped
    with Weblogic Platform last friday. I didnt have this problem with Weblogic 7.0 GA.
    The problems are:
    Bug 1) I have public JavaBean get/set methods for the field (its a string). The servicegen
    ANT task throws an error because the field is both a property AND a public field
    (though, there is no reason to do this according to the JAX-RPC spec)
    The error I get is:
    weblogic.xml.schema.binding.BindingException: Error: bean property and public field
    found with the same name: starId
    Bug 2) If I remove the get/set methods and regenerate (using servicegen again), it
    fails at runtime because the generated code is looking for get/set methods (ie, it
    is not accessing the public field directly).
    The error I get is:
    java.lang.NoSuchMethodError
    at com.bnpparibas.fi.gfit.services.instrument.bond.persistance.BondPKCodec.typedInvokeGetter(BondPKCodec.java:87)
    at com.bnpparibas.fi.gfit.services.instrument.bond.persistance.BondPKCodec.invokeGetter(BondPKCodec.java:56)
    at weblogic.xml.schema.binding.BeanCodecBase.gatherContents(BeanCodecBase.java:295)
    at weblogic.xml.schema.binding.CodecBase.serializeFill(CodecBase.java:253)
    at weblogic.xml.schema.binding.CodecBase.serialize(CodecBase.java:195)
    at weblogic.xml.schema.binding.SoapArrayCodecBase.serializeOneDimArray(SoapArrayCodecBase.java:605)
    Is this a known issue with the Weblogic Platform?
    Do you know where I can find the release notes for weblogic platform?
    Regards,
    Nick

    Yes, i am able to reproduce both. I am not sure whether (1) is a bug though.
    If the field is public and the class got get/set methods, it is not clear
    whether
    to access the value from the public field or by using the get/set method.
    Get/set methods may have side effects and user may not see the expected
    behavior. Anyway I will leave it to Scott to make the call.
    regards,
    -manoj
    "Nick Minutello" <[email protected]> wrote
    in message news:[email protected]...
    >
    >
    Actually, did you manage to reproduce both bugs?
    -Nick
    "manoj cheenath" <[email protected]> wrote:
    I am able to reproduce the public field deser problem on 7.0.0.1. I have
    used public fields before and it used to work. So this may be a
    regression
    on the 7.0.0.1 branch. CR081154 is filed on this issue and we should be
    able to send you a patch as soon as it get fixed.
    regards,
    -manoj
    "Nick Minutello" <[email protected]>
    wrote
    in message news:[email protected]...
    I have an EJB Primary Key with one public field - and I have hit 2 bugstrying to
    serialize it to XML. I am currently running Weblogic 7.0.0.1 - the
    version
    that shipped
    with Weblogic Platform last friday. I didnt have this problem withWeblogic 7.0 GA.
    The problems are:
    Bug 1) I have public JavaBean get/set methods for the field (its astring). The servicegen
    ANT task throws an error because the field is both a property AND a
    public
    field
    (though, there is no reason to do this according to the JAX-RPC spec)
    The error I get is:
    weblogic.xml.schema.binding.BindingException: Error: bean property andpublic field
    found with the same name: starId
    Bug 2) If I remove the get/set methods and regenerate (using servicegenagain), it
    fails at runtime because the generated code is looking for get/set
    methods
    (ie, it
    is not accessing the public field directly).
    The error I get is:
    java.lang.NoSuchMethodError
    at
    com.bnpparibas.fi.gfit.services.instrument.bond.persistance.BondPKCodec.type
    dInvokeGetter(BondPKCodec.java:87)
    at
    com.bnpparibas.fi.gfit.services.instrument.bond.persistance.BondPKCodec.invo
    keGetter(BondPKCodec.java:56)
    at
    weblogic.xml.schema.binding.BeanCodecBase.gatherContents(BeanCodecBase.java:
    295)
    at
    weblogic.xml.schema.binding.CodecBase.serializeFill(CodecBase.java:253)
    at weblogic.xml.schema.binding.CodecBase.serialize(CodecBase.java:195)
    atweblogic.xml.schema.binding.SoapArrayCodecBase.serializeOneDimArray(SoapArra
    yCodecBase.java:605)
    Is this a known issue with the Weblogic Platform?
    Do you know where I can find the release notes for weblogic platform?
    Regards,
    Nick

  • Java.io.IOException: No serializer found for class..............

    Hi All,
    I am tring to send an object to a webservice. But when I run the code it throughs an Exception:
    - Exception:
    java.io.IOException: No serializer found for class com.tourico.webservices.impl.BookHotelTypeImpl$HlTypeImpl in registry org.apache.axis.encoding.TypeMappingDelegate@14b6b02
         at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1429)
         at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:914)
         at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:677)
         at org.apache.axis.message.MessageElement.outputImpl(MessageElement.java:1247)
         at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
         at org.apache.axis.encoding.ser.BeanSerializer.serialize(BeanSerializer.java:265)
         at org.apache.axis.encoding.SerializationContext.serializeActual(SerializationContext.java:1426)
         at org.apache.axis.encoding.SerializationContext.serialize(SerializationContext.java:914)
         at org.apache.axis.message.RPCParam.serialize(RPCParam.java:200)
         at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:433)
         at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
         at org.apache.axis.message.SOAPBody.outputImpl(SOAPBody.java:139)
         at org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:477)
         at org.apache.axis.message.MessageElement.output(MessageElement.java:1208)
         at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:315)
         at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269)
         at org.apache.axis.SOAPPart.saveChanges(SOAPPart.java:530)
         at org.apache.axis.attachments.AttachmentsImpl.getAttachmentCount(AttachmentsImpl.java:519)
         at org.apache.axis.Message.getContentType(Message.java:475)
         at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:343)
         at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
         at org.apache.axis.client.Call.invoke(Call.java:2748)
         at org.apache.axis.client.Call.invoke(Call.java:2424)
         at org.apache.axis.client.Call.invoke(Call.java:2347)
         at org.apache.axis.client.Call.invoke(Call.java:1804)
         at com.tourico.webservices.HotelsServiceSoapStub.bookHotel(HotelsServiceSoapStub.java:488)
         at TestClient.main(TestClient.java:892)
    Any help will be appreciated
    Thanks
    Sandeep

    Hi,
    Is this class com.tourico.webservices.impl.BookHotelTypeImpl$HlTypeImpl implements java.io.Serializable ?
    --Marc (http://jnative.sf.net)                                                                                                                                                                                                                                                                                               

  • Serialize java.security.Principal

    The problem is:
    I'am using IBM WebSphere Portal 5.1
    I can get current user
    request.getUser();So I get instance of such class:
    package com.ibm.wps.puma;
    public class User extends com.ibm.wps.puma.Principal
        implements Serializable, Principal, org.apache.jetspeed.portlet.User, com.ibm.portal.puma.User{
    }As you can see, I can access this object through interface java.security.Principal
    Also, this object can be serialized. That's great.
    I have a web-service.
    It needs java.security.Principal from User
    So I've tried to add parameter com.ibm.wps.puma.User to the method of web-service interface.
    I thought I can send class via SOAP to web-service and then access it through java.security.Principal on the server-side of web-service.
    User is stored in bean:
    public class WSPrincipalBean {
        private String userName;
        private String password;
        private User user;
    public WSPrincipalBean(){
    public Principal getPrincipal() {
            return (Principal)user;
         public void setUser(User user) {
              this.user = user;
    }When I generate web-service I get several warnings: some fields of User user cna't be serialized. But I don't need actually this fields.
    When I generate client based on my web-service wsdl I loose field User user.
    Web-service and web-service clint use JAX-RPC 1.0 / 1.1 and WebSphere Application Server 5.1
    Please, can you suggest me any solution?
    Is there any way to make full serialization of java.security.Principal?

    Rachman wrote:
    What is serializable..?
    How to use Serializable..?
    I'm not understanding about this.. please help me...
    Thanks for all...See simple example:
    [http://www.idevelopment.info/data/Programming/java/serialization/SimpleSerialization.java|http://www.idevelopment.info/data/Programming/java/serialization/SimpleSerialization.java]
    Read Sun FAQ
    [http://java.sun.com/javase/technologies/core/basic/serializationFAQ.jsp|http://java.sun.com/javase/technologies/core/basic/serializationFAQ.jsp]
    In common serialization allows you to store instances of classes (I mean any objects) in files.
    Then you can restore them and use in your program.
    You can specify fields which will be stored in file +(serialization)+ and which you don't want to store. So, after restoring +(deserialization)+ such fields will get default values.
    You need serialization when you are developing some network application. I am developing interaction between portlet app and web-service.
    I need serialize some objects to transfer them to web-service. I just transfer some kind of text +(xml data)+ to web-service. Web-service accepts xml-data, read it, deserialize it and get objects.
    So you don't pay attention to network stuff. You have to pay attention to serialization of your objects. If object you want to send to web-service doesn'r have proper serialization it can be corrupted and you can loss data.
    Of course there are plenty other situations when you need serialization.

  • How serialization happens in java thru serializable interface??

    Hi,
    Can anybody plz tell me what are the advantages of having a blank interface??
    One example of blank interface is Serializable interface in java. Serializable being a blank interface allows you to perform persistence in java framework just by implementing it. Just curious to know how the blank interface (Serializable) does the serialization in java???
    Tx in Advance
    Jameel

    Serializable is a marker interface. It simply indicates that any object that has instanceOf Serializable returning true can be serialized. By implmenting this interface you declare that your class is serializable.

  • Error while running a Java Program

    Can anyone help me,
    I am getting the following error while running a Java program, Below is the exception thrown, please help.
    java.nio.BufferOverflowException
    at java.nio.Buffer.nextPutIndex(Buffer.java:425)
    at java.nio.DirectByteBuffer.putChar(DirectByteBuffer.java:463)
    at org.jetel.data.StringDataField.serialize(StringDataField.java:295)
    at org.jetel.data.DataRecord.serialize(DataRecord.java:283)
    at org.jetel.graph.DirectEdge.writeRecord(DirectEdge.java:216)
    at org.jetel.graph.Edge.writeRecord(Edge.java:288)
    at com.tcs.re.component.RESummer1.run(RESummer1.java:505)
    java.nio.BufferOverflowException
    at java.nio.Buffer.nextPutIndex(Buffer.java:425)
    at java.nio.DirectByteBuffer.putChar(DirectByteBuffer.java:463)
    at org.jetel.data.StringDataField.serialize(StringDataField.java:295)
    at org.jetel.data.DataRecord.serialize(DataRecord.java:283)
    at org.jetel.graph.DirectEdge.writeRecord(DirectEdge.java:216)
    at org.jetel.graph.Edge.writeRecord(Edge.java:288)
    at com.tcs.re.component.RECollectCont.run(RECollectCont.java:304)

    Ok, let's see. Write the following class:
    public class Grunt {
      public static void main(String[] args) {
        System.out.println("Hello Mars");
    }Save it as "C:\Grunt.java", compile by typing:
    javac c:\Grunt.javaRun by typing:
    java -classpath "C:\" GruntDoes it say "Hello Mars"? If yes, go back to your program and compare for differences (maybe you used the "package" statement?).
    Regards

  • Error while deploying a web service whose return type is java.util.Date

    Hi
    I have written a simple web service which takes in a date input (java.util.Date) and returns the same date back to the client.
    public interface Ping extends Remote
    * A simple method that pings the server to test the webservice.
    * It sends a datetime to the server which returns the datetime.
    * @param pingDateRequest A datetime sent to the server
    * @returns The original datetime
    public Date ping(Date pingDateRequest) throws RemoteException;
    The generation of the Web service related files goes smoothly in JDeveloper 10g. The problem arises when I try to deploy this web service on the Oracle 10g (10.0.3) OC4J standalone. it gives me the following error on the OC4J console :
    E:\Oracle\oc4j1003\j2ee\home\application-deployments\Sachin-TradingEngineWS-WS\
    WebServices\com\sachin\tradeengine\ws\Ping_Tie.java:57: ping(java.util.Date) in com.sachin.tradeengine.ws.Ping cannot be applied to (java.util.Calendar) _result  = ((com.sachin.tradeengine.ws.Ping) getTarget()).ping
    (myPing_Type.getDate_1());
    ^
    1 error
    04/03/23 17:17:35 Notification ==&gt; Application Deployer for Sachin-TradingEngineWS-WS FAILED: java.lang.InstantiationException: Error compiling :E:\Oracle\oc4j1003\j2ee\home\applications\Sachin-TradingEngineWS-WS\WebServices: Syntax error in source [ 2004-03-23T17:17:35.937GMT+05:30 ]
    I read somewhere that the conversion between java to xml datatype and vice versa fails for java.util.Date, so it is better to use java.util.Calendar. When I change the code to return a java.util.Calendar then the JDeveloper prompts me the following failure:
    Method Ping: the following parameter types do not have an XML Schema mapping and/or serializer specified : java.util.Calendar.
    This forces me to return a String data.
    I would appreciate if someone can help me out.
    Thanks
    Sachin Mathias
    Datamatics Ltd.

    Hi
    I got the web service working with some work around. But I am not sure it this approach would be right and good.
    I started altogether afresh. I did the following step :
    1. Created an Interface (Ping.java) for use in web Service as follows :
    public interface Ping extends Remote{
    public java.util.Date ping(java.util.Date pingDateRequest)
    throws RemoteException;
    2. Implemented the above interface in PingImpl.java as follows :
    public class PingImpl implements Ping
    public java.util.Date ping(java.util.Date pingDateRequest) throws RemoteException {
    System.out.println("PingImpl: ping() return datetime = " + pingDateRequest.toString());
    return pingDateRequest;
    3. Compiled the above 2 java files.
    4. Generated a Stateless Java Web Service with the help of JDeveloper. This time the generation was sucessful.(If I had "java.util.Calendar" in place of "java.util.Date" in the java code of the above mentioned files the web service generation would prompt me for error)
    5. After the generation of Web Service, I made modification to the Ping interface and its implementing class. In both the files I replaced "java.util.Date" with "java.util.Calendar". The modified java will look as follows :
    Ping.Java
    =========
    public interface Ping extends Remote{
    public java.util.Calendar ping(java.util.Calendar pingDateRequest)
    throws RemoteException;
    PingImpl.Java
    ================
    public class PingImpl implements Ping
    public java.util.Calendar ping(java.util.Calendar pingDateRequest) throws RemoteException {
    System.out.println("PingImpl: ping() return datetime = " + pingDateRequest.toString());
    return pingDateRequest;
    6. Now I recompile both the java files.
    7. Withour regenerating the Web Service I deploy the Web Service on OC4j 10.0.3 from JDeveloper. This time the deployment was sucessful.(The Deployment fails if I don't follow the step 5.)
    8. Now I generated a Stub from JDeveloper and accessed the stub from a client. It works fine. Here if you see the Stub code it takes java.util.Date as a parameter and returns a java.util.Date. (Mind you I am accepting a java.util.Calendar and returning the same in my Web Service interface. Step 5)
    The confusing thing is the Serialization and Deserialization of Data from Client java data to Soap message and Soap message to Server java data.
    From Client to SOAP :
    java.util.Date to datetime
    From SOAP to Server :
    datetime to java.util.Calendar
    From Server to SOAP :
    java.util.Calendar to datetime
    From SOAP to Client :
    datetime to java.util.Date (I am not able to understand this part of the conversion)
    Any help or inputs would be appreciated.
    Thanks
    Sachin Mathias

  • Serialization Error after adding a new field to BPM Process

    Hi,
    I have a BPM Process to which I added a new attribute userid and consuming the BPM process in a web dynpro application, I created a model using the BPM Process's Web Service but getting a serialization error that the model does not have a mandatory field with name [userid]. see below.
    FYI.. I can trigger my BPM process through the Web Service in wsnavigator , the error I am getting is while executing the BPM Process from the custom webdynpro.
    Any idea how to resolve the issue?
    XML Serialization Error. GenericObject [
    <modelObject class="com.sap.demo.wdpoc.wd.models.model.NewOperation"><attribute name="In" value="KK"/><attribute name="Name" value="133"/><attribute name="Age" value="dad"/><attribute name="Designation" value="12124"/><attribute name="Userid" value="null"/></modelObject>
    ] does not have a mandatory field with name [userid].
    [EXCEPTION]
    com.sap.engine.services.webservices.jaxrpc.exceptions.XmlMarshalException: XML Serialization Error. GenericObject [
    <modelObject class="com.sap.demo.wdpoc.wd.models.model.NewOperation"><attribute name="In" value="KK"/><attribute name="Name" value="133"/><attribute name="Age" value="dad"/><attribute name="Designation" value="12124"/><attribute name="Userid" value="null"/></modelObject>
    ] does not have a mandatory field with name [userid].
    at com.sap.engine.services.webservices.jaxrpc.encoding.SerializationUtil.serializeGenericFieldContent(SerializationUtil.java:1546)
    at com.sap.engine.services.webservices.jaxrpc.encoding.SerializationUtil.serializeGenericFields(SerializationUtil.java:1431)
    at com.sap.engine.services.webservices.jaxrpc.encoding.SerializationUtil.serializeGenericType(SerializationUtil.java:1383)
    at com.sap.engine.services.webservices.jaxrpc.encoding.GeneratedComplexType.serialize(GeneratedComplexType.java:168)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.serializeParameter(SOAPTransportBinding.java:1731)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.serializeRequest(SOAPTransportBinding.java:1683)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:254)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1272)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:952)
    at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:907)
    at com.sap.engine.services.webservices.espbase.client.dynamic.impl.DInterfaceInvokerImpl.invokeOperation(DInterfaceInvokerImpl.java:76)
    at com.sap.tc.webdynpro.model.webservice.model.WSGenericModelClassExecutable.execute(WSGenericModelClassExecutable.java:73)
    at com.sap.tc.webdynpro.model.webservice.gci.WSTypedModelClassExecutable.execute(WSTypedModelClassExecutable.java:49)
    at com.sap.demo.wdpoc.wd.comp.wdpoc.Wdpoc.execute(Wdpoc.java:257)

    This question is not answered but I am marking it answered because I have to post more.
    Sorry
    -Ashwani

  • Accessing tables from java

    I am creating an inventory system. I have used Java for front-end where i have created forms which display the vendor table, customer table, item table, order table, invoice tbl etc.
    I have created class files for each form that im displaying. i have also made connection to the oracle dbs succesfully. i can access data from the dbs.
    but my problem is,
    1)
    for instance i have created a vendor_master table in oracle with certain constraints like vendor_number can contain only 5 varchar2 characters ,
    eg.
    create table vendor_master
    (v_no varchar2(5) constraint v_no_pk primary key,
    v_name varchar2(25),
    v_add varchar2(15),
    city varchar2(15),
    st varchar2(15),
    zip number(10),
    tel number(11),
    fax number(11));
    now when i want 2 insert any row in the table i should be able 2 insert only "certain" characters of "certain" length depending on the constraints i have set. how do i do tht? coz java does not allow me 2 set the max chars like VB in the properties column
    i have my vendor Master class file here:
    code:--------------------------------------------------------------------------------
    package mainpage;
    import java.io.*;
    import java.io.Serializable;
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.String.*;
    import javax.swing.*;
    import javax.swing.JPanel;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.util.Vector;
    import oracle.jdbc.driver.OracleDriver;
    import oracle.jdbc.OracleResultSet;
    import java.sql.PreparedStatement;
    public class VendorMaster extends JPanel implements java.io.Serializable
    JFrame venMastFrame = new JFrame("Vendor Master");
    JLabel vennolbl = new JLabel();
    JLabel venNamelbl = new JLabel();
    JLabel venAdd = new JLabel();
    JTextField venAddtxt = new JTextField();
    JTextField venNotxt = new JTextField();
    JTextField venNmtxt = new JTextField();
    JLabel venCitylbl = new JLabel();
    JTextField venCitytxt = new JTextField();
    JLabel venStlbl = new JLabel();
    JTextField venSttxt = new JTextField();
    JLabel venZiplbl = new JLabel();
    JTextField venZiptxt = new JTextField();
    JLabel venTellbl = new JLabel();
    JTextField venTeltxt = new JTextField();
    JLabel venFaxlbl = new JLabel();
    JTextField venFaxtxt = new JTextField();
    JButton vPrevbtn = new JButton();
    JButton vNxtbtn = new JButton();
    JButton vExitbtn = new JButton();
    JButton vNewbtn = new JButton();
    JButton vDelbtn = new JButton();
    JButton vUpdtbtn = new JButton();
    JButton vSavebtn = new JButton();
    int currentIndex = 0;
    int totalRecords = 0;
    private Vector vendorMasterRecords = new Vector();
    public VendorMaster()
    venMastFrame.setSize(850,760);
    venMastFrame.setVisible(true);
    //venMastFrame.show();
    try
    jbInit();
    } catch (Exception e)
    e.printStackTrace();
    } // end of constructor
    private void jbInit() throws Exception
    Connection myConnection = DataManager.createConnection();
    vendorMasterRecords = loadVendorMasterRecords(myConnection);
    VendorMasterBean vmBean = null;
    venMastFrame.getContentPane().setLayout(null);
    if(vendorMasterRecords != null)
    {                 vmBean = (VendorMasterBean)vendorMasterRecords.elementAt(0);
    totalRecords = vendorMasterRecords.size();
    currentIndex = 0;
    if(vmBean == null)
    vmBean = new VendorMasterBean();
    venNamelbl.setText("Vendor Name:");
    venNamelbl.setBounds(new Rectangle(22, 87, 89, 23));
    venNmtxt.setBounds(new Rectangle(153, 81, 224, 22));
    venNmtxt.setEnabled(false);
    venNmtxt.setText(vmBean.getVendorName());
    venAdd.setText("Address:");
    venAdd.setBounds(new Rectangle(25, 130, 113, 31));
    venAddtxt.setBounds(new Rectangle(152, 126, 201, 22));
    venAddtxt.setEnabled(false);
    venAddtxt.setText(vmBean.getAddress());
    vennolbl.setText("Vendor No:");
    vennolbl.setBounds(new Rectangle(23, 41, 73, 22));
    venNotxt.setBounds(new Rectangle(155, 38, 108, 22));
    venNotxt.setEnabled(false);
    venNotxt.setText(vmBean.getVendorNumber());
    venCitylbl.setText("City:");
    venCitylbl.setBounds(new Rectangle(25, 175, 61, 29));
    venCitytxt.setBounds(new Rectangle(153, 172, 156, 24));
    venCitytxt.setEnabled(false);
    venCitytxt.setText(vmBean.getCity());
    venStlbl.setText("State:");
    venStlbl.setBounds(new Rectangle(25, 225, 64, 32));
    venSttxt.setBounds(new Rectangle(152, 223, 158, 24));
    venSttxt.setEnabled(false);
    venSttxt.setText(vmBean.getState());
    venZiplbl.setText("Zip:");
    venZiplbl.setBounds(new Rectangle(24, 275, 58, 24));
    venZiptxt.setBounds(new Rectangle(150, 272, 108, 24));
    venZiptxt.setEnabled(false);
    venZiptxt.setText(vmBean.getZipcode());
    venTellbl.setText("Telephone No:");
    venTellbl.setBounds(new Rectangle(25, 323, 106, 26));
    venTeltxt.setBounds(new Rectangle(149, 326, 108, 26));
    venTeltxt.setEnabled(false);
    venTeltxt.setText(vmBean.getTelephone());
    venFaxlbl.setText("Fax No:");
    venFaxlbl.setBounds(new Rectangle(27, 375, 97, 26));
    venFaxtxt.setBounds(new Rectangle(149, 375, 107, 26));
    venFaxtxt.setEnabled(false);
    venFaxtxt.setText(vmBean.getFax());
    /* code for buttons */
    vExitbtn.setBounds(new Rectangle(681, 457, 111, 29));
    vExitbtn.setText("EXIT");
    vExitbtn.addKeyListener(new VendorMaster_vExitbtn_keyAdapter(this));
    vExitbtn.addActionListener(new VendorMaster_vExitbtn_actionAdapter(this));
    vPrevbtn.setText("PREVIOUS");
    vPrevbtn.addKeyListener(new VendorMaster_vPrevbtn_keyAdapter(this));
    vPrevbtn.addActionListener(new VendorMaster_vPrevbtn_actionAdapter(this));
    vPrevbtn.setBounds(new Rectangle(14, 457, 110, 29));
    vPrevbtn.setEnabled(false);
    vNxtbtn.setText("NEXT");
    vNxtbtn.addKeyListener(new VendorMaster_vNxtbtn_keyAdapter(this));
    vNxtbtn.addActionListener(new VendorMaster_vNxtbtn_actionAdapter(this));
    vNxtbtn.setBounds(new Rectangle(124, 457, 111, 29));
    vNewbtn.setText("NEW");
    vNewbtn.setBounds(new Rectangle(235, 457, 111, 29));
    vNewbtn.setActionCommand("NEW");
    vNewbtn.addActionListener(new VendorMaster_vNewbtn_actionAdapter(this));
    vNewbtn.addKeyListener(new VendorMaster_vNewbtn_keyAdapter(this));
    vDelbtn.setText("DELETE");
    vDelbtn.setBounds(new Rectangle(346, 457, 111, 29));
    vDelbtn.setHorizontalAlignment(SwingConstants.CENTER);
    vDelbtn.addActionListener(new VendorMaster_vDelbtn_actionAdapter(this));
    vDelbtn.addKeyListener(new VendorMaster_vDelbtn_keyAdapter(this));
    vUpdtbtn.setText("UPDATE");
    vUpdtbtn.addActionListener(new VendorMaster_vUpdtbtn_actionAdapter(this));
    vUpdtbtn.setBounds(new Rectangle(457, 457, 113, 29));
    vUpdtbtn.setMaximumSize(new Dimension(71, 25));
    vUpdtbtn.setMinimumSize(new Dimension(71, 25));
    vUpdtbtn.setPreferredSize(new Dimension(71, 25));
    /* Add all the txtboxes, lbls and buttons to the frame */
    vSavebtn.setBounds(new Rectangle(570, 457, 111, 29));
    vSavebtn.setText("SAVE");
    vSavebtn.addActionListener(new VendorMaster_vSavebtn_actionAdapter(this));
    venMastFrame.getContentPane().add(vennolbl, null);
    venMastFrame.getContentPane().add(venNotxt, null);
    venMastFrame.getContentPane().add(venNamelbl, null);
    venMastFrame.getContentPane().add(venNmtxt, null);
    venMastFrame.getContentPane().add(venAdd, null);
    venMastFrame.getContentPane().add(venAddtxt, null);
    venMastFrame.getContentPane().add(venCitylbl, null);
    venMastFrame.getContentPane().add(venCitytxt, null);
    venMastFrame.getContentPane().add(venStlbl, null);
    venMastFrame.getContentPane().add(venSttxt, null);
    venMastFrame.getContentPane().add(venZiplbl, null);
    venMastFrame.getContentPane().add(venZiptxt, null);
    venMastFrame.getContentPane().add(venTellbl, null);
    venMastFrame.getContentPane().add(venTeltxt, null);
    venMastFrame.getContentPane().add(venFaxlbl, null);
    venMastFrame.getContentPane().add(venFaxtxt, null);
    venMastFrame.getContentPane().add(vPrevbtn, null);
    venMastFrame.getContentPane().add(vNxtbtn, null);
    venMastFrame.getContentPane().add(vNewbtn, null);
    venMastFrame.getContentPane().add(vDelbtn, null);
    venMastFrame.getContentPane().add(vUpdtbtn, null);
    venMastFrame.getContentPane().add(vSavebtn, null);
    venMastFrame.getContentPane().add(vExitbtn, null);
    } // end of jbinit
    public static void main(String[] args)
    VendorMaster vendorMaster1 = new VendorMaster();
    } //end of main
    /* this is where the data will be retrieved from the dbs */
    protected Vector loadVendorMasterRecords(Connection connection)
    //Connection connection = null;
    Vector masterRecords = new Vector();
    // From database getting values
    try
    //connection = connectionManager.getConnection();
    Statement stmt = connection.createStatement();
    String queryall = "Select * from vendor_master order by v_no";
    ResultSet rs = stmt.executeQuery(queryall);
    while (rs.next())
    String vendorNumber = rs.getString("v_no");
    String vendorName = rs.getString("v_name");
    String address = rs.getString("v_add");
    String city = rs.getString("city");
    String state = rs.getString("st");
    String zipCode = rs.getString("zip");
    String telephone = rs.getString("tel");
    String fax = rs.getString("fax");
    VendorMasterBean vendorMasterBean = new VendorMasterBean(vendorNumber,
    vendorName,
    address,
    city,
    state,
    zipCode,
    telephone,
    fax);
    /* data retrieved from the vendormasterbean is then inserted in vector*/
    masterRecords.addElement(vendorMasterBean);
    } // end of while
    } catch (Exception e) // end of try & start of catch
    e.printStackTrace();
    } // end of catch
    finally
    if(connection != null)
    DataManager.freeConnection(connection);
    return masterRecords; /* the data stored in
    masterRecords is passed 2 vendormasterRecords*/
    } // finally ends here
    } // end of loadvendorMasterrecords
    /*example- when previous button is pressed then an event is triggered
    captured by the key listener and then actionPerformed method is called
    which in turn calls the getPreviousRecord*/
    /* to insert records */
    protected void addVendorMasterRecord(VendorMasterBean vmBean )
    Connection connection = null;
    Vector masterRecords = new Vector();
    // first check whether all the textboxes are empty
    // also check whether there is already a record
    //existing with the same v_no
    // From database getting values
    try
    connection = DataManager.createConnection();
    PreparedStatement newRecord = connection.prepareStatement("insert into vendor_master values(?,?,?,?,?,?,?,?)");
    newRecord.setString(1,vmBean.getVendorNumber());
    newRecord.setString(2, vmBean.getVendorName());
    newRecord.setString(3, vmBean.getAddress());
    newRecord.setString(4, vmBean.getCity());
    newRecord.setString(5, vmBean.getState());
    newRecord.setString(6, vmBean.getZipcode());
    newRecord.setString(7, vmBean.getTelephone());
    newRecord.setString(8, vmBean.getFax());
    newRecord.executeUpdate();
    // Insert statement
    // PreparedStatement pStmt = ....;
    // The assign each value in the vmBean to the pStmt
    // and finally execute the pStmt
    } catch (Exception e) // end of try and begin of catch
    e.printStackTrace();
    } // end of catch
    finally
    if(connection != null)
    DataManager.freeConnection(connection);
    }// end of if
    } // end of finally
    } // end of addVendorMasterRecord
    void vNewbtn_actionPerformed(ActionEvent e)
    /* First empty all the textboxes */
    venNotxt.setText(" ");
    venNmtxt.setText(" ");
    venAddtxt.setText(" ");
    venCitytxt.setText(" ");
    venSttxt.setText(" ");
    venZiptxt.setText(" ");
    venTeltxt.setText(" ");
    venFaxtxt.setText(" ");
    venNotxt.setEnabled(true);
    venNmtxt.setEnabled(true);
    venAddtxt.setEnabled(true);
    venCitytxt.setEnabled(true);
    venSttxt.setEnabled(true);
    venZiptxt.setEnabled(true);
    venTeltxt.setEnabled(true);
    venFaxtxt.setEnabled(true);
    vPrevbtn.setEnabled(false);
    vNxtbtn.setEnabled(false);
    void vNewbtn_keyPressed(KeyEvent e)
    /* to delete records */
    protected void removeVendorMasterRecord(VendorMasterBean vmBean )
    Connection connection = null;
    Vector masterRecords = new Vector();
    // From database getting values
    try
    connection = DataManager.createConnection();
    PreparedStatement deleteRecord = connection.prepareStatement("delete from vendor_master where v_no = ?");
    deleteRecord.setString(1, vmBean.getVendorNumber());
    deleteRecord.executeUpdate();
    // Delete statement for where condition pass the vendor number as parameter
    //"delete from vendor_master where v_no = ?"
    //PreparedStatement pStmt = ....;
    // The assign v_no in the vmBean to the pStmt
    // and finally execute the pStmt
    } catch (Exception e)
    e.printStackTrace();
    finally
    // After executing this new record should be removed from the Vector of results.
    // uncomment this
    if(connection != null){
    DataManager.freeConnection(connection);
    } // end of finally
    } // end of removeVendorMasterRecord
    void vDelbtn_actionPerformed(ActionEvent e)
    String vendorNumber = venNotxt.getText();
    String vendorName = venNmtxt.getText();
    String address = venAddtxt.getText();
    String city = venCitytxt.getText();
    String state = venSttxt.getText();
    String zipCode = venZiptxt.getText();
    String telephone = venTeltxt.getText();
    String fax = venFaxtxt.getText();
    VendorMasterBean vmBean = new VendorMasterBean(vendorNumber,vendorName, address, city, state, zipCode, telephone, fax);
    removeVendorMasterRecord(vmBean);
    void vDelbtn_keyPressed(KeyEvent e)
    /* To get next record */
    protected VendorMasterBean getNextRecord()
    VendorMasterBean vmBean = new VendorMasterBean();
    if(currentIndex < totalRecords)
    vmBean =(VendorMasterBean)vendorMasterRecords.elementAt(++currentIndex);
    if(currentIndex == (totalRecords-1) )
    // reached last, so disable the Next button
    vNxtbtn.setEnabled(false);
    // enable the Previous
    vPrevbtn.setEnabled(true);
    } // end of if stmt
    } // end of outer if stmt
    return vmBean;
    } // end of getnextrecord
    void vNxtbtn_keyPressed(KeyEvent e)
    void vNxtbtn_actionPerformed(ActionEvent e)
    VendorMasterBean vmBean = getNextRecord();
    venNotxt.setText(vmBean.getVendorNumber());
    venNmtxt.setText(vmBean.getVendorName());
    venAddtxt.setText(vmBean.getAddress());
    venCitytxt.setText(vmBean.getCity());
    venSttxt.setText(vmBean.getState());
    venZiptxt.setText(vmBean.getZipcode());
    venTeltxt.setText(vmBean.getTelephone());
    venFaxtxt.setText(vmBean.getFax());
    /* to get previous record */
    protected VendorMasterBean getPreviousRecord()
    VendorMasterBean vmBean = new VendorMasterBean();
    if(currentIndex > 0)
    vmBean =(VendorMasterBean)vendorMasterRecords.elementAt(--currentIndex);
    if(currentIndex == 0)
    // reached first so disable the Previous button
    vPrevbtn.setEnabled(false);
    // enable the Next
    vNxtbtn.setEnabled(true);
    } // end of inner if stmt
    } // end of outer if stmt
    return vmBean;
    } // end of previousrecord
    void vPrevbtn_actionPerformed(ActionEvent e)
    VendorMasterBean vmBean = getPreviousRecord();
    venNmtxt.setText(vmBean.getVendorName());
    venAddtxt.setText(vmBean.getAddress());
    venNotxt.setText(vmBean.getVendorNumber());
    venCitytxt.setText(vmBean.getCity());
    venSttxt.setText(vmBean.getState());
    venZiptxt.setText(vmBean.getZipcode());
    venTeltxt.setText(vmBean.getTelephone());
    venFaxtxt.setText(vmBean.getFax());
    void vPrevbtn_keyPressed(KeyEvent e)
    void vUpdtbtn_actionPerformed(ActionEvent e)
    /* when the update button is pressed , only the v_no is disabled
    vPrevbtn.setEnabled(false);
    vNxtbtn.setEnabled(false);
    venNmtxt.setEnabled(true);
    venAddtxt.setEnabled(true);
    venCitytxt.setEnabled(true);
    venSttxt.setEnabled(true);
    venZiptxt.setEnabled(true);
    venTeltxt.setEnabled(true);
    venFaxtxt.setEnabled(true);
    //then the user should press the save button
    void vExitbtn_actionPerformed(ActionEvent e)
    venMastFrame.setDefaultCloseOperation(venMastFrame.EXIT_ON_CLOSE);
    void vExitbtn_keyPressed(KeyEvent e)
    void vSavebtn_actionPerformed(ActionEvent e)
    String vendorNumber = venNotxt.getText();
    String vendorName = venNmtxt.getText();
    String address = venAddtxt.getText();
    String city = venCitytxt.getText();
    String state = venSttxt.getText();
    String zipCode = venZiptxt.getText();
    String telephone = venTeltxt.getText();
    String fax = venFaxtxt.getText();
    VendorMasterBean vmBean = new VendorMasterBean(vendorNumber, vendorName,address, city, state, zipCode, telephone, fax);
    addVendorMasterRecord(vmBean);
    } // end of vSavebtn_actionPerformed
    } // end of class vendormaster
    //Adapter classes
    class VendorMaster_vNxtbtn_actionAdapter implements java.awt.event.ActionListener
    VendorMaster adaptee;
    VendorMaster_vNxtbtn_actionAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e)
    adaptee.vNxtbtn_actionPerformed(e);
    class VendorMaster_vNxtbtn_keyAdapter extends java.awt.event.KeyAdapter
    VendorMaster adaptee;
    VendorMaster_vNxtbtn_keyAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void keyPressed(KeyEvent e)
    adaptee.vNxtbtn_keyPressed(e);
    class VendorMaster_vPrevbtn_actionAdapter implements java.awt.event.ActionListener
    VendorMaster adaptee;
    VendorMaster_vPrevbtn_actionAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e)
    adaptee.vPrevbtn_actionPerformed(e);
    class VendorMaster_vPrevbtn_keyAdapter extends java.awt.event.KeyAdapter
    VendorMaster adaptee;
    VendorMaster_vPrevbtn_keyAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void keyPressed(KeyEvent e)
    adaptee.vPrevbtn_keyPressed(e);
    class VendorMaster_vExitbtn_actionAdapter implements java.awt.event.ActionListener
    VendorMaster adaptee;
    VendorMaster_vExitbtn_actionAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e)
    adaptee.vExitbtn_actionPerformed(e);
    class VendorMaster_vExitbtn_keyAdapter extends java.awt.event.KeyAdapter
    VendorMaster adaptee;
    VendorMaster_vExitbtn_keyAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void keyPressed(KeyEvent e)
    adaptee.vExitbtn_keyPressed(e);
    class VendorMaster_vNewbtn_actionAdapter implements java.awt.event.ActionListener
    VendorMaster adaptee;
    VendorMaster_vNewbtn_actionAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e)
    adaptee.vNewbtn_actionPerformed(e);
    class VendorMaster_vNewbtn_keyAdapter extends java.awt.event.KeyAdapter
    VendorMaster adaptee;
    VendorMaster_vNewbtn_keyAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void keyPressed(KeyEvent e)
    adaptee.vNewbtn_keyPressed(e);
    class VendorMaster_vDelbtn_actionAdapter implements java.awt.event.ActionListener
    VendorMaster adaptee;
    VendorMaster_vDelbtn_actionAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e)
    adaptee.vDelbtn_actionPerformed(e);
    class VendorMaster_vDelbtn_keyAdapter extends java.awt.event.KeyAdapter
    VendorMaster adaptee;
    VendorMaster_vDelbtn_keyAdapter(VendorMaster adaptee)
    this.adaptee = adaptee;
    public void keyPressed(KeyEvent e)
    adaptee.vDelbtn_keyPressed(e);
    class VendorMaster_vUpdtbtn_actionAdapter implements java.awt.event.ActionListener {
    VendorMaster adaptee;
    VendorMaster_vUpdtbtn_actionAdapter(VendorMaster adaptee) {
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e) {
    adaptee.vUpdtbtn_actionPerformed(e);
    class VendorMaster_vSavebtn_actionAdapter implements java.awt.event.ActionListener {
    VendorMaster adaptee;
    VendorMaster_vSavebtn_actionAdapter(VendorMaster adaptee) {
    this.adaptee = adaptee;
    public void actionPerformed(ActionEvent e) {
    adaptee.vSavebtn_actionPerformed(e);
    the following code is the vendorMasterBean class file- this file helps 2 assign data to the various textboxes.
    code:--------------------------------------------------------------------------------
    package mainpage;
    public class VendorMasterBean
    private String vendorNumber;
    private String vendorName;
    private String address;
    private String city;
    private String state;
    private String zipcode;
    private String telephone;
    private String fax;
    public int Mandatory_Value;
    public VendorMasterBean()
    } // end of constructor
    public VendorMasterBean(String vendorNumber,String vendorName,String address,String city,String state,String zipcode,String telephone,String fax)
    setVendorNumber(vendorNumber);
    setVendorName(vendorName);
    setAddress(address);
    setCity(city);
    setState(state);
    setZipcode(zipcode);
    setTelephone(telephone);
    setFax(fax);
    /* Set Method */
    public void setVendorNumber(String vendorNumber)
    try
    if ( (vendorNumber == null) || (vendorNumber.length() <= 0) || (vendorNumber.length() > 5))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "Vendor Number");
    } // end of if stmt
    else {
    this.vendorNumber = vendorNumber;
    } // end of else
    catch(Exception e)
    e.printStackTrace();
    } // end of setVendorNumber
    public void setVendorName(String vendorName)
    try
    if((vendorName == null) || (vendorName.length() <=0 && vendorName.length() > 25))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "Vendor Name");
    }// end of if
    else
    this.vendorName = vendorName;
    } // end of else
    } // end of try
    catch(Exception e)
    e.printStackTrace();
    }// end of set method
    public void setAddress(String address)
    try
    if((address == null) ||(address.length() <=0 && address.length()>15))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "Address");
    else
    this.address = address;
    catch(Exception e)
    e.printStackTrace();
    public void setCity(String city)
    try
    if((city == null) ||(city.length()<=0 && city.length() > 15))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "City");
    else
    this.city = city;
    catch(Exception e)
    e.printStackTrace();
    public void setState(String state)
    try
    if((state == null) || (state.length()<=0 && state.length() >15))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "State");
    else
    this.state = state;
    catch(Exception e)
    e.printStackTrace();
    public void setZipcode(String zipcode)
    try
    if((zipcode==null) ||(zipcode.length()<=0 && zipcode.length() > 10))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "Zipcode");
    else
    this.zipcode = zipcode;
    catch(Exception e)
    e.printStackTrace();
    public void setTelephone(String telephone)
    try
    if((telephone==null) || (telephone.length() <= 0 && telephone.length()> 7))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "Telephone");
    else
    this.telephone = telephone;
    catch(Exception e)
    e.printStackTrace();
    public void setFax(String fax)
    try
    if((fax == null) ||(fax.length()<=0 && fax.length() > 7))
    throw new ValidateException(ValidateException.MANDATORY_VALUE,
    "Fax");
    else
    this.fax = fax;
    catch(Exception e)
    e.printStackTrace();
    /* Get method */
    public String getVendorNumber()
    return vendorNumber;
    public String getVendorName()
    return vendorName;
    public String getAddress()
    return address;
    public String getCity()
    return city;
    public String getState()
    return state;
    public String getZipcode()
    return zipcode;
    public String getTelephone()
    return telephone;
    public String getFax()
    return fax;
    /* end of get method*/
    } // end of class
    2) the 2nd error is in the save button method , everytme i try 2 save the inserted record it gives me an error.
    in case u need my mainpage.java, here it is
    code:--------------------------------------------------------------------------------
    package mainpage;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.JPanel;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    //import java.sql.Statement;
    //import java.sql.ResultSet;
    import oracle.jdbc.driver.OracleDriver;
    import oracle.jdbc.OracleResultSet;
    public class MainPage extends JFrame implements ActionListener
    public static String title = "Warehouse Management System";
    JFrame frame = new JFrame();
    JMenuBar menuBar = new JMenuBar();
    JMenu viewMenu = new JMenu("VIEW");
    JMenuItem vendorItem = new JMenuItem("Vendor Master");
    JMenuItem custItem= new JMenuItem("Customer Master");
    JMenuItem salesrepItem= new JMenuItem("Sales Rep Master");
    JMenuItem itemmastItem= new JMenuItem("Item Master");
    JMenuItem orderItem= new JMenuItem("Order Master");
    JMenuItem invoiceItem = new JMenuItem("Invoice Master");
    JMenuItem payItem= new JMenuItem("Payment Master");
    JMenu transactionMenu = new JMenu("EDIT");
    JMenuItem veneditItem = new JMenuItem("Vendor");
    JMenuItem custeditItem = new JMenuItem("Customer");
    JMenuItem saleItem = new JMenuItem("Rep Information");
    JMenuItem itmeditItem= new JMenuItem("Item");
    JMenuItem ordeditItem= new JMenuItem("Order");
    JMenuItem inveditItem = new JMenuItem("Invoice");
    JMenuItem payeditItem = new JMenuItem("Payment");
    JMenu exitMenu = new JMenu("EXIT

    2 parts to this
    Limit characters in jtextfield using a custom document
    http://java.sun.com/docs/books/tutorial/uiswing/components/generaltext.html#customdocument
    Specify a custom editor (jtextfield) for jtable (or column)
    http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#validtext

Maybe you are looking for

  • Photoshop GPU and Yoga 2 Pro Display Driver

    When I first bought my Yoga 2 Pro, Photoshop's latest versions (CC and CS6) ran perfectly with their Graphics Processor (aka GPU aka Intel HD Graphics 4400) enabled. However, after an automated update that I didn't notice, I receive a "display driver

  • Sender Soap Axis error in PI 7.31

    Hi Experts, We are using PI7.31 We got a requirement to extract XML from a exchange rate URL on daily basis and send it to ECC from PI. I followed the below link to configure the sender SOAP Axis channel. http://scn.sap.com/community/pi-and-soa-middl

  • How to change the backgroud of Flex label

    Hey friend; I am trying to change the backgroud color of the flex label control but there seems to be no property called background in it. I tried it using a css class too but fail. Can some one kindly tell me how change the background color of the l

  • Can I still backup my HD after s.m.a.r.t. failure?

    I have an early 2009 iMac. A couple weeks ago it began to act very stuttery and slow and then would eventually freeze. I booted into safe mode and was told the HD had problems and needed to be repaired. I booted from the osX snow leopard install disc

  • Installing Windows XP on MacBookPro

    Hi, I'm trying to install Windows XP on my MacBookPro, however, I get to a blue screen where it asks me to a) press enter to install Windows for the first time b) press R to repair Windows or c) press F3 to quit. When I get to this screen, it just fr