I am in need of answers. Someone look into this
please.

Thanks,
Pani

--- Chakrapani Madaraju <[EMAIL PROTECTED]> wrote:

>  Hi,
>  
>  I have a Java Program which returns a DynaBean
> Array
>  to the callers. To deploy this as WebService I had
>  to convert the DynaBean into the following to send
> it
>  as DataHandler Object (pls suggest if there is a
> better way).
>  
>  DynaBean[] db = (DynaBean[])newResults.toArray(new
>  DynaBean[newResults.size()]);
>                       
>  ByteArrayOutputStream baos = new
>  ByteArrayOutputStream(); 
>                       
>  ObjectOutputStream oos = new
>  ObjectOutputStream(baos);
>  oos.writeObject(db);
>  oos.flush();
>  oos.close();
>  
>  //InputStream bais = new
>  ByteArrayInputStream(baos.toByteArray());
>  
>  InternetHeaders header = new InternetHeaders();
>                   header.addHeader("Content-Type",
>  "application/octet-stream");
>  
>  mbp = new MimeBodyPart(header, baos.toByteArray());
>  DataHandler dh = new DataHandler(new
>  MimePartDataSource(mbp));
>  
>  return dh;
>  
>  
>  On the client side I am using the following code to
>  read the result.
>  
>  DataHandler qr = (DataHandler)svc.executeQuery();
>  DataSource ds = qr.getDataSource();
>  MimeBodyPart mp = new
>  MimeBodyPart(ds.getInputStream());
>         
>  InputStream oas = mp.getInputStream();
>  ObjectInputStream ois = new ObjectInputStream(oas);
>  Object db = ois.readObject();
>  //I am expecting the above Object to be the
>  DynaBean[]
>  ois.close();
>  
>  I keep getting java.io.EOFException in the
> following
>  line
>  
>  ObjectInputStream ois = new ObjectInputStream(oas);
>  
>  Not sure why. My main aim is to send the DynaBean[]
>  back to the caller. I am using DynaBean since I
>  don't know of any structure that can send results
> (it
>  is a search utility). I am using AXIS 1.2.
>  
>  Thanks in advance,
>  Pani
>  
>  
>  
>  
> 
> 

Reply via email to