Ciao a tutti,

ho una chiamata ad una funzione attraverso SOAP che mi restituisce una Array di stringhe (vartype=8200).

Da una serie di ricerche online ho appreso che vbScript non è in grado di gestire solo Array di Variant (vartype = 8204) pur riconoscendo che è una array e restituendone l'upper bound.

Il codice che mi restituisce errore è il seguente
<%
Dim SoapClient, AdminUsername, AdminPassword

AdminUsername = "AdminUsername"
AdminPassword = "AdminPassword"

Set SoapClient = CreateObject("MSSOAP.SoapClient30")
SoapClient.ClientProperty("ServerHTTPRequest") = True
SoapClient.MSSoapInit "https://my.url.xx/drysoap.wsdl", "soapsrv", "SoapService"

Dim RetVal, Arr, i
Arr = Array("", 1) ' VarType = 8204
RetVal = SoapClient.MyFunction(AdminUsername, AdminPassword, Arr) ' La funzione mi restituisce Arr con vartype 8200

Response.Write RetVal & ": "
Response.Write UBound(Arr) & "; "
For i = 0 To UBound(Arr)
Response.Write i & ") "
Response.Write VarType(Arr) & " - " ' VarType = 8200
Response.Write TypeName(Arr) & ", "
Response.Write Arr(i) ' Here i got the error '800a000d'
Next
Set SoapClient = Nothing
%>

Chiedo a voi dunque se avete un modo semplice per trasformare l'array di stringhe in array di variant !

Grazie

P.S. Io ritenevo che il typecasting fosse il principio per imparare un linguaggio di programmazione ... non a caso è sempre la prima parte nei manuali ... non avrei mai pensato che dopo più di dieci anni che programmo con vbscript attraverso le ASP avrei avuto problemi seri a "Castare" una array !!!!