Solved

VBScript Byte Array WebService

Posted on 2007-03-29
7
2,052 Views
Last Modified: 2012-05-05
I am trying to call a webservice which returns a byte array which is a file.... I am trying to do this with vbscript.  I can call the webservice no problem the issue is how do I get the contents (which is the actual file) to disk?  I can get through the document and locate the contents the question is how do I get it to disk?  I have essentially a text string which is an array of bytes and I dont know what to do with it.. in vb.net this is no problem I just dont know how to handle in vbscript.. can anyone help?
0
Comment
Question by:NTGuru705
7 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 18817188
Hello NTGuru705,
You just need to write it to a file?
Use the FSO...
Dim objFSO:Set objFSO=CreateObject("Scripting.FileSystemObject")
Dim objOutput: SetobjOutput=objFSO.CreateTextFile("C:\YourFile.txt")
objOutput.WriteLine YourData

~sirbounty
0
 
LVL 1

Author Comment

by:NTGuru705
ID: 18817250
Well not really... the data isnt text... so I am ot writing a text file...

The webservice is handing me a binary file... and it is handing it to me as a return parameter which is a byte array...

So i .net I can do something like this..

Public Function WriteFile(ByVal ccDocument As Byte(), ByVal FilePath As String) As Integer
        Dim objFstream As FileStream
        Dim lngLen As Long = ccDocument.Length
        Try
            objFstream = File.Open(FilePath, FileMode.Create, FileAccess.Write)
            objFstream.Write(ccDocument, 0, CInt(lngLen))
            objFstream.Flush()
            objFstream.Close()
        Catch ex As Exception
            ErrorHandler("WriteFile", ex.Message, AgentName, EventLogEntryType.Error, -5000)
            Return -5000
        End Try

        If Not objFstream Is Nothing Then
            objFstream.Close()
            objFstream = Nothing
        End If
        'IF YOU DIDNT ENCOUNTER AN ERROR RETURN 0
        Return 0
    End Function

How to do this in vbscript though?
0
 
LVL 22

Accepted Solution

by:
WMIF earned 250 total points
ID: 18818007
you should be able to do the same thing in asp/vbscript using the adodb.stream object.
http://www.w3schools.com/ado/ado_ref_stream.asp
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 1

Author Comment

by:NTGuru705
ID: 18818456
right but to write binary data you have to use the wrtie method and the parameter is a byte array which I dont think vbscript supports.
0
 
LVL 1

Author Comment

by:NTGuru705
ID: 18819135
Ok I am making progress here...

This is what the XML looks like.. note the content is in the document element...
Problem is when I write it back to disk it isnt right.. anyone recognize the encoding or something?  This is just being returned from a vb.net webservice as a byte array.


<ccDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://services.firstfleetinc.com/">
  <ccDocGID>1004</ccDocGID>
  <Document>DQogImNjX0FkZEF0dHJpYnV0ZSAiICYgY2NEb2NHSUQgJiAiLCIgJiBjY0FUeXBlR0lEICYgIiwnIiAmIGNjQVZhbHVlICYgIg0KLS0gUkVUVVJOUyBUSEUgQVZBTFVFR0lEDQoNCnNxbCA9ICJjY19WYWxpZGF0ZUFWYWx1ZSAiICYgY2NBVHlwZUdJRCAmICIsJyIgJiBjY0FWYWx1ZSAmICInIg0KLS0gUkVUVVJOUyAxIE9SIDAgRk9SIFRSVUUgT1IgRkFMU0U=</Document>
- <ccDocProperties>
  <ccDocGID>1004</ccDocGID>
  <ccDocStatus>1</ccDocStatus>
  <ccDocStatusName>Pending Index</ccDocStatusName>
  <ccSorceFileExt>txt</ccSorceFileExt>
  <ccDocTypeGID>1000</ccDocTypeGID>
  <ccDocType>DEFAULT</ccDocType>
  <ccDocDate>2007-03-26T14:44:46.407</ccDocDate>
  <ccDocSize>203</ccDocSize>
  <ccDocQueueGID>1000</ccDocQueueGID>
  <ccDocWFName>UNK</ccDocWFName>
  <ccDocWFGID>0</ccDocWFGID>
  <ccDocWFSequence>0</ccDocWFSequence>
  <ccDocAdded>2007-03-26T14:44:46.407</ccDocAdded>
  <ccDocAuthor>1000</ccDocAuthor>
  <ccDocAuthorID>admin</ccDocAuthorID>
  <ccDocEdited>2007-03-26T14:44:46.407</ccDocEdited>
  <ccDocEditor>1000</ccDocEditor>
  <ccDocEditorID>admin</ccDocEditorID>
  <ccDocViewed>2007-03-26T16:11:24.28</ccDocViewed>
  <ccDocViewer>1000</ccDocViewer>
  <ccDocViewerID>admin</ccDocViewerID>
  <ccErrorCode>0</ccErrorCode>
  <ccErrorString />
  </ccDocProperties>
- <ccDocAttribues>
- <ccDocAttributes>
  <ccRowID>3</ccRowID>
  <ccATypeGID>1000</ccATypeGID>
  <ccATypeName>DEFAULT</ccATypeName>
  <ccAValueGID>1</ccAValueGID>
  <ccAValue>Test</ccAValue>
  <ccErrorCode>0</ccErrorCode>
  <ccErrorString />
  </ccDocAttributes>
- <ccDocAttributes>
  <ccRowID>4</ccRowID>
  <ccATypeGID>1000</ccATypeGID>
  <ccATypeName>DEFAULT</ccATypeName>
  <ccAValueGID>2</ccAValueGID>
  <ccAValue>Sivils</ccAValue>
  <ccErrorCode>0</ccErrorCode>
  <ccErrorString />
  </ccDocAttributes>
  </ccDocAttribues>
  <ccErrorCode>0</ccErrorCode>
  <ccErrorString />
  </ccDocument>
0
 
LVL 29

Assisted Solution

by:rdivilbiss
rdivilbiss earned 250 total points
ID: 18820304
Probably Base64 encoded
0
 
LVL 1

Author Comment

by:NTGuru705
ID: 18876888
yes and there are lots of dlls I have found to help me write this file to disk... thank for your help.. reference link

http://www.experts-exchange.com/Programming/Languages/Scripting/Q_22497192.html

0

Featured Post

ScreenConnect 6.0 Free Trial

Explore all the enhancements in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question