469,927 Members | 1,744 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,927 developers. It's quick & easy.

Accessing string arrays using classic ASP (vbscript)

Hello everyone,

Please help me before I throw my computer out of the window:

I'm working on a web application in classic ASP (vbscript), which is making
calls to some webservices. The calls are made using SOAP - i installed the
SOAP3 toolkit on my windows 2k server to enable this. The webservice calls
are returning String Arrays which I can't seem to do anything useful with.

The call shown below returns a string array with two elements (stored in
returnedData):
....

dim returnedData
returnedData=SoapClient3.createCase(param1, param2, param3)
set SoapClient3=nothing

response.write "<br>"&vartype(returnedData) '8200
response.write "<br>"&typename(returnedData) 'String()
response.write "<br>"&ubound(returnedData) '1
....

The call to the webservice works just fine, and my data is successfully sent
to the other system, however I don't seem to be able to do anything with the
returned string array stored in 'returnedData', bar identify the vartype
(8200) and typename (String()), and number of elements (2 as expected).

As soon as I try something like;

response.write returnedData(1) '(line 58)

I get the error:

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

All other attempts to do something useful with the array fail too, e.g.

myString=Join(returnedData)

results in:

Error Type:
Microsoft VBScript runtime (0x800A01CA)
Variable uses an Automation type not supported in VBScript
/bwc/ordercomplete.asp, line 59

I really need to be able to access these array values - and cannot see any
means of doing it. I'd be very grateful for any help,

Regards,
Jon.
Jul 22 '05 #1
6 12405
Have you tried explicitly casting the array element to a string?

Response.Write CStr(returnedData(1))

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:28**********************************@microsof t.com...
Hello everyone,

Please help me before I throw my computer out of the window:

I'm working on a web application in classic ASP (vbscript), which is making calls to some webservices. The calls are made using SOAP - i installed the SOAP3 toolkit on my windows 2k server to enable this. The webservice calls are returning String Arrays which I can't seem to do anything useful with.

The call shown below returns a string array with two elements (stored in
returnedData):
...

dim returnedData
returnedData=SoapClient3.createCase(param1, param2, param3)
set SoapClient3=nothing

response.write "<br>"&vartype(returnedData) '8200
response.write "<br>"&typename(returnedData) 'String()
response.write "<br>"&ubound(returnedData) '1
...

The call to the webservice works just fine, and my data is successfully sent to the other system, however I don't seem to be able to do anything with the returned string array stored in 'returnedData', bar identify the vartype
(8200) and typename (String()), and number of elements (2 as expected).

As soon as I try something like;

response.write returnedData(1) '(line 58)

I get the error:

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

All other attempts to do something useful with the array fail too, e.g.

myString=Join(returnedData)

results in:

Error Type:
Microsoft VBScript runtime (0x800A01CA)
Variable uses an Automation type not supported in VBScript
/bwc/ordercomplete.asp, line 59

I really need to be able to access these array values - and cannot see any
means of doing it. I'd be very grateful for any help,

Regards,
Jon.

Jul 22 '05 #2
Thanks for your input Mark.

Response.Write CStr(returnedData(1)) 'line 58

results in....

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

Any more ideas anyone?

"Mark Schupp" wrote:
Have you tried explicitly casting the array element to a string?

Response.Write CStr(returnedData(1))

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:28**********************************@microsof t.com...
Hello everyone,

Please help me before I throw my computer out of the window:

I'm working on a web application in classic ASP (vbscript), which is

making
calls to some webservices. The calls are made using SOAP - i installed

the
SOAP3 toolkit on my windows 2k server to enable this. The webservice

calls
are returning String Arrays which I can't seem to do anything useful with.

The call shown below returns a string array with two elements (stored in
returnedData):
...

dim returnedData
returnedData=SoapClient3.createCase(param1, param2, param3)
set SoapClient3=nothing

response.write "<br>"&vartype(returnedData) '8200
response.write "<br>"&typename(returnedData) 'String()
response.write "<br>"&ubound(returnedData) '1
...

The call to the webservice works just fine, and my data is successfully

sent
to the other system, however I don't seem to be able to do anything with

the
returned string array stored in 'returnedData', bar identify the vartype
(8200) and typename (String()), and number of elements (2 as expected).

As soon as I try something like;

response.write returnedData(1) '(line 58)

I get the error:

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

All other attempts to do something useful with the array fail too, e.g.

myString=Join(returnedData)

results in:

Error Type:
Microsoft VBScript runtime (0x800A01CA)
Variable uses an Automation type not supported in VBScript
/bwc/ordercomplete.asp, line 59

I really need to be able to access these array values - and cannot see any
means of doing it. I'd be very grateful for any help,

Regards,
Jon.


Jul 22 '05 #3
Unfortunately I have never done anything with SOAP. I just had a quick look
at the help file and it looks like you can modify the "type mapper". That
may be the approach you need to take.

It also appears that there are ways to get the data back as a list of XML
nodes.

First I would try to get the raw XML back and see what it looks like.

--
--Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com

"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:A7**********************************@microsof t.com...
Thanks for your input Mark.

Response.Write CStr(returnedData(1)) 'line 58

results in....

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

Any more ideas anyone?

"Mark Schupp" wrote:
Have you tried explicitly casting the array element to a string?

Response.Write CStr(returnedData(1))

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:28**********************************@microsof t.com...
> Hello everyone,
>
> Please help me before I throw my computer out of the window:
>
> I'm working on a web application in classic ASP (vbscript), which is

making
> calls to some webservices. The calls are made using SOAP - i installed

the
> SOAP3 toolkit on my windows 2k server to enable this. The webservice

calls
> are returning String Arrays which I can't seem to do anything useful
> with.
>
> The call shown below returns a string array with two elements (stored
> in
> returnedData):
> ...
>
> dim returnedData
> returnedData=SoapClient3.createCase(param1, param2, param3)
> set SoapClient3=nothing
>
> response.write "<br>"&vartype(returnedData) '8200
> response.write "<br>"&typename(returnedData) 'String()
> response.write "<br>"&ubound(returnedData) '1
> ...
>
> The call to the webservice works just fine, and my data is successfully

sent
> to the other system, however I don't seem to be able to do anything
> with

the
> returned string array stored in 'returnedData', bar identify the
> vartype
> (8200) and typename (String()), and number of elements (2 as expected).
>
> As soon as I try something like;
>
> response.write returnedData(1) '(line 58)
>
> I get the error:
>
> Error Type:
> Microsoft VBScript runtime (0x800A000D)
> Type mismatch
> /bwc/ordercomplete.asp, line 58
>
> All other attempts to do something useful with the array fail too, e.g.
>
> myString=Join(returnedData)
>
> results in:
>
> Error Type:
> Microsoft VBScript runtime (0x800A01CA)
> Variable uses an Automation type not supported in VBScript
> /bwc/ordercomplete.asp, line 59
>
> I really need to be able to access these array values - and cannot see
> any
> means of doing it. I'd be very grateful for any help,
>
> Regards,
> Jon.



Jul 22 '05 #4
Hi Mark,

Thanks again for the reply. I'll look into the type mapper options... In
terms of 'getting the raw xml back' - would something like this do the trick?
dim oDOM
Set oDOM = Server.CreateObject("MSXML2.DOMDocument.4.0")
oDOM.loadXML(SoapClient3.createCase(param1, param2, param3))
response.write(oDOM.XML)

Cheers,
Jon.

"Mark Schupp" wrote:
Unfortunately I have never done anything with SOAP. I just had a quick look
at the help file and it looks like you can modify the "type mapper". That
may be the approach you need to take.

It also appears that there are ways to get the data back as a list of XML
nodes.

First I would try to get the raw XML back and see what it looks like.

--
--Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com

"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:A7**********************************@microsof t.com...
Thanks for your input Mark.

Response.Write CStr(returnedData(1)) 'line 58

results in....

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

Any more ideas anyone?

"Mark Schupp" wrote:
Have you tried explicitly casting the array element to a string?

Response.Write CStr(returnedData(1))

--
Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com
"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:28**********************************@microsof t.com...
> Hello everyone,
>
> Please help me before I throw my computer out of the window:
>
> I'm working on a web application in classic ASP (vbscript), which is
making
> calls to some webservices. The calls are made using SOAP - i installed
the
> SOAP3 toolkit on my windows 2k server to enable this. The webservice
calls
> are returning String Arrays which I can't seem to do anything useful
> with.
>
> The call shown below returns a string array with two elements (stored
> in
> returnedData):
> ...
>
> dim returnedData
> returnedData=SoapClient3.createCase(param1, param2, param3)
> set SoapClient3=nothing
>
> response.write "<br>"&vartype(returnedData) '8200
> response.write "<br>"&typename(returnedData) 'String()
> response.write "<br>"&ubound(returnedData) '1
> ...
>
> The call to the webservice works just fine, and my data is successfully
sent
> to the other system, however I don't seem to be able to do anything
> with
the
> returned string array stored in 'returnedData', bar identify the
> vartype
> (8200) and typename (String()), and number of elements (2 as expected).
>
> As soon as I try something like;
>
> response.write returnedData(1) '(line 58)
>
> I get the error:
>
> Error Type:
> Microsoft VBScript runtime (0x800A000D)
> Type mismatch
> /bwc/ordercomplete.asp, line 58
>
> All other attempts to do something useful with the array fail too, e.g.
>
> myString=Join(returnedData)
>
> results in:
>
> Error Type:
> Microsoft VBScript runtime (0x800A01CA)
> Variable uses an Automation type not supported in VBScript
> /bwc/ordercomplete.asp, line 59
>
> I really need to be able to access these array values - and cannot see
> any
> means of doing it. I'd be very grateful for any help,
>
> Regards,
> Jon.


Jul 22 '05 #5
check the soap toolkit help file. There was something about it returning a
nodelist instead of a specific variant type if there was no type mapper
defined in the configuration files.

--
Mark Schupp

"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:93**********************************@microsof t.com...
Hi Mark,

Thanks again for the reply. I'll look into the type mapper options... In
terms of 'getting the raw xml back' - would something like this do the trick?

dim oDOM
Set oDOM = Server.CreateObject("MSXML2.DOMDocument.4.0")
oDOM.loadXML(SoapClient3.createCase(param1, param2, param3))
response.write(oDOM.XML)

Cheers,
Jon.

"Mark Schupp" wrote:
Unfortunately I have never done anything with SOAP. I just had a quick look at the help file and it looks like you can modify the "type mapper". That may be the approach you need to take.

It also appears that there are ways to get the data back as a list of XML nodes.

First I would try to get the raw XML back and see what it looks like.

--
--Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com

"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:A7**********************************@microsof t.com...
Thanks for your input Mark.

Response.Write CStr(returnedData(1)) 'line 58

results in....

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch
/bwc/ordercomplete.asp, line 58

Any more ideas anyone?

"Mark Schupp" wrote:

> Have you tried explicitly casting the array element to a string?
>
> Response.Write CStr(returnedData(1))
>
> --
> Mark Schupp
> Head of Development
> Integrity eLearning
> www.ielearning.com
>
>
> "ASPfool" <AS*****@discussions.microsoft.com> wrote in message
> news:28**********************************@microsof t.com...
> > Hello everyone,
> >
> > Please help me before I throw my computer out of the window:
> >
> > I'm working on a web application in classic ASP (vbscript), which is> making
> > calls to some webservices. The calls are made using SOAP - i installed> the
> > SOAP3 toolkit on my windows 2k server to enable this. The webservice> calls
> > are returning String Arrays which I can't seem to do anything useful> > with.
> >
> > The call shown below returns a string array with two elements (stored> > in
> > returnedData):
> > ...
> >
> > dim returnedData
> > returnedData=SoapClient3.createCase(param1, param2, param3)
> > set SoapClient3=nothing
> >
> > response.write "<br>"&vartype(returnedData) '8200
> > response.write "<br>"&typename(returnedData) 'String()
> > response.write "<br>"&ubound(returnedData) '1
> > ...
> >
> > The call to the webservice works just fine, and my data is successfully> sent
> > to the other system, however I don't seem to be able to do anything
> > with
> the
> > returned string array stored in 'returnedData', bar identify the
> > vartype
> > (8200) and typename (String()), and number of elements (2 as expected).> >
> > As soon as I try something like;
> >
> > response.write returnedData(1) '(line 58)
> >
> > I get the error:
> >
> > Error Type:
> > Microsoft VBScript runtime (0x800A000D)
> > Type mismatch
> > /bwc/ordercomplete.asp, line 58
> >
> > All other attempts to do something useful with the array fail too, e.g.> >
> > myString=Join(returnedData)
> >
> > results in:
> >
> > Error Type:
> > Microsoft VBScript runtime (0x800A01CA)
> > Variable uses an Automation type not supported in VBScript
> > /bwc/ordercomplete.asp, line 59
> >
> > I really need to be able to access these array values - and cannot see> > any
> > means of doing it. I'd be very grateful for any help,
> >
> > Regards,
> > Jon.
>
>
>


Jul 22 '05 #6
Thanks Mark. In the end I felt that it was too difficult to sort this within
classic asp, so with some wonderful fudging, I've sent the data to an
intermediary asp.net file, made by web service call, and forwarded the
returned values to my classic asp app. In future, I think i'll write
everything in .net.... I guess its time to abandon the classic asp ship!

Thanks again for all your input,
regards,
Jon.

"Mark Schupp" wrote:
check the soap toolkit help file. There was something about it returning a
nodelist instead of a specific variant type if there was no type mapper
defined in the configuration files.

--
Mark Schupp

"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:93**********************************@microsof t.com...
Hi Mark,

Thanks again for the reply. I'll look into the type mapper options... In
terms of 'getting the raw xml back' - would something like this do the

trick?


dim oDOM
Set oDOM = Server.CreateObject("MSXML2.DOMDocument.4.0")
oDOM.loadXML(SoapClient3.createCase(param1, param2, param3))
response.write(oDOM.XML)

Cheers,
Jon.

"Mark Schupp" wrote:
Unfortunately I have never done anything with SOAP. I just had a quick look at the help file and it looks like you can modify the "type mapper". That may be the approach you need to take.

It also appears that there are ways to get the data back as a list of XML nodes.

First I would try to get the raw XML back and see what it looks like.

--
--Mark Schupp
Head of Development
Integrity eLearning
www.ielearning.com

"ASPfool" <AS*****@discussions.microsoft.com> wrote in message
news:A7**********************************@microsof t.com...
> Thanks for your input Mark.
>
> Response.Write CStr(returnedData(1)) 'line 58
>
> results in....
>
> Error Type:
> Microsoft VBScript runtime (0x800A000D)
> Type mismatch
> /bwc/ordercomplete.asp, line 58
>
> Any more ideas anyone?
>
> "Mark Schupp" wrote:
>
>> Have you tried explicitly casting the array element to a string?
>>
>> Response.Write CStr(returnedData(1))
>>
>> --
>> Mark Schupp
>> Head of Development
>> Integrity eLearning
>> www.ielearning.com
>>
>>
>> "ASPfool" <AS*****@discussions.microsoft.com> wrote in message
>> news:28**********************************@microsof t.com...
>> > Hello everyone,
>> >
>> > Please help me before I throw my computer out of the window:
>> >
>> > I'm working on a web application in classic ASP (vbscript), which is >> making
>> > calls to some webservices. The calls are made using SOAP - i installed >> the
>> > SOAP3 toolkit on my windows 2k server to enable this. The webservice >> calls
>> > are returning String Arrays which I can't seem to do anything useful >> > with.
>> >
>> > The call shown below returns a string array with two elements (stored >> > in
>> > returnedData):
>> > ...
>> >
>> > dim returnedData
>> > returnedData=SoapClient3.createCase(param1, param2, param3)
>> > set SoapClient3=nothing
>> >
>> > response.write "<br>"&vartype(returnedData) '8200
>> > response.write "<br>"&typename(returnedData) 'String()
>> > response.write "<br>"&ubound(returnedData) '1
>> > ...
>> >
>> > The call to the webservice works just fine, and my data is successfully >> sent
>> > to the other system, however I don't seem to be able to do anything
>> > with
>> the
>> > returned string array stored in 'returnedData', bar identify the
>> > vartype
>> > (8200) and typename (String()), and number of elements (2 as expected). >> >
>> > As soon as I try something like;
>> >
>> > response.write returnedData(1) '(line 58)
>> >
>> > I get the error:
>> >
>> > Error Type:
>> > Microsoft VBScript runtime (0x800A000D)
>> > Type mismatch
>> > /bwc/ordercomplete.asp, line 58
>> >
>> > All other attempts to do something useful with the array fail too, e.g. >> >
>> > myString=Join(returnedData)
>> >
>> > results in:
>> >
>> > Error Type:
>> > Microsoft VBScript runtime (0x800A01CA)
>> > Variable uses an Automation type not supported in VBScript
>> > /bwc/ordercomplete.asp, line 59
>> >
>> > I really need to be able to access these array values - and cannot see >> > any
>> > means of doing it. I'd be very grateful for any help,
>> >
>> > Regards,
>> > Jon.
>>
>>
>>


Jul 22 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by AdamM | last post: by
1 post views Thread by Bob | last post: by
5 posts views Thread by Kent.Gallinger | last post: by
12 posts views Thread by divya | last post: by
3 posts views Thread by sjsean | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.