Stream from vb.net Webservice to java client

Discussion in 'ASP .Net Web Services' started by Filipe Marcelino, Aug 3, 2007.

  1. hi,

    i have a webservice written in vb.net with this method:

    <WebMethod()> _
    Public Function GetBinaryFile() As Byte()
    'Open a file stream.
    Dim pobjFileStream As System.IO.FileStream = New
    System.IO.FileStream("C:\Inetpub\wwwroot
    \WebService1\DPackSetup2003.exe", IO.FileMode.Open)
    'Allocate a byte array that will hold the contents.
    Dim pbytBytes As Byte() = New Byte(pobjFileStream.Length - 1)
    {}
    'Now read the stream.
    pobjFileStream.Read(pbytBytes, 0, pobjFileStream.Length)
    'Now convert to a base64 string and return.
    Return pbytBytes
    End Function

    What this method does is to return a byte array with the contents of
    the file. What i want to do is to have a java client that will get
    this byte array and write it to disk. I came up with the following
    method:

    private void jButton3MouseClicked(java.awt.event.MouseEvent evt)
    {
    // TODO add your handling code here:


    try { // Call Web Service Operation
    javawebservice_dotnet_axis.Service1 service = new
    javawebservice_dotnet_axis.Service1();
    javawebservice_dotnet_axis.Service1Soap port =
    service.getService1Soap();
    // TODO process result here
    javawebservice_dotnet_axis.Stream result =
    port.getBinaryFile();

    //Grava ficheiro
    java.io_OutputStreamWriter aux = new
    java.io_OutputStreamWriter(new java.io.FileOutputStream("C:\\Documents
    and Settings\\me\\Desktop\\savedStream.exe") );
    aux.write(result.toString());
    aux.flush();
    aux.close();


    } catch (Exception ex) {
    // TODO handle custom exceptions here
    }
    }

    Theorically i should serialize the result to disk but when the program
    reaches the code line 'javawebservice_dotnet_axis.Stream result =
    port.getBinaryFile();', it automatically jumps to the end of the
    method whitout throwing any kind of exception.

    Can someone help me on this?

    Thanks in advance for your attention,
    Marcelino
     
    Filipe Marcelino, Aug 3, 2007
    #1
    1. Advertising

  2. On 3 ago, 11:14, Filipe Marcelino <> wrote:
    > hi,
    >
    > i have a webservice written in vb.net with this method:
    >
    > <WebMethod()> _
    > Public Function GetBinaryFile() As Byte()
    > 'Open a file stream.
    > Dim pobjFileStream As System.IO.FileStream = New
    > System.IO.FileStream("C:\Inetpub\wwwroot
    > \WebService1\DPackSetup2003.exe", IO.FileMode.Open)
    > 'Allocate a byte array that will hold the contents.
    > Dim pbytBytes As Byte() = New Byte(pobjFileStream.Length - 1)
    > {}
    > 'Now read the stream.
    > pobjFileStream.Read(pbytBytes, 0, pobjFileStream.Length)
    > 'Now convert to a base64 string and return.
    > Return pbytBytes
    > End Function
    >
    > What this method does is to return a byte array with the contents of
    > the file. What i want to do is to have ajavaclientthat will get
    > this byte array and write it to disk. I came up with the following
    > method:
    >
    > private void jButton3MouseClicked(java.awt.event.MouseEvent evt)
    > {
    > // TODO add your handling code here:
    >
    > try { // Call Web Service Operation
    > javawebservice_dotnet_axis.Service1 service = new
    > javawebservice_dotnet_axis.Service1();
    > javawebservice_dotnet_axis.Service1Soap port =
    > service.getService1Soap();
    > // TODO process result here
    > javawebservice_dotnet_axis.Stream result =
    > port.getBinaryFile();
    >
    > //Grava ficheiro
    > java.io_OutputStreamWriter aux = newjava.io_OutputStreamWriter(newjava.io.FileOutputStream("C:\\Documents
    > and Settings\\me\\Desktop\\savedStream.exe") );
    > aux.write(result.toString());
    > aux.flush();
    > aux.close();
    >
    > } catch (Exception ex) {
    > // TODO handle custom exceptions here
    > }
    > }
    >
    > Theorically i should serialize the result to disk but when the program
    > reaches the code line 'javawebservice_dotnet_axis.Stream result =
    > port.getBinaryFile();', it automatically jumps to the end of the
    > method whitout throwing any kind of exception.
    >
    > Can someone help me on this?
    >
    > Thanks in advance for your attention,
    > Marcelino


    I already found out what was happening. Apparently the wsdl file from
    the webservice wasn't updated. After updating the file, all run great.

    Thanks anyway.
     
    Filipe Marcelino, Aug 3, 2007
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mr. x
    Replies:
    2
    Views:
    728
    Andrew
    Oct 10, 2003
  2. Rasmusson, Lars
    Replies:
    1
    Views:
    772
    popov
    Apr 30, 2004
  3. Replies:
    9
    Views:
    653
    Alex Buell
    Apr 27, 2006
  4. Alexander Korsunsky

    get stream mode flags from an opened stream

    Alexander Korsunsky, Feb 17, 2007, in forum: C++
    Replies:
    1
    Views:
    464
    John Harrison
    Feb 17, 2007
  5. dolphin
    Replies:
    6
    Views:
    569
    Thomas Fritsch
    Mar 18, 2007
Loading...

Share This Page