Web services 经典ASP VBScript对象到数组

Web services 经典ASP VBScript对象到数组,web-services,vbscript,asp-classic,Web Services,Vbscript,Asp Classic,我通常不处理VBScript和经典ASP,但我必须对我们的一个旧站点进行一些更改 我使用soapweb服务来获取字符串值数组,但是当我试图从经典ASP代码中使用它时,它告诉我它是一个对象 该服务可以工作,它返回一个字符串数组,代码是合理的,我只需要知道如何将它从一个对象更改为字符串 web服务WSDL: 错误 对象不是集合 经典ASP代码: result2 = soap.getProductFunctions("AEDO") i = 0 For Each present In result2

我通常不处理VBScript和经典ASP,但我必须对我们的一个旧站点进行一些更改

我使用soapweb服务来获取字符串值数组,但是当我试图从经典ASP代码中使用它时,它告诉我它是一个对象

该服务可以工作,它返回一个字符串数组,代码是合理的,我只需要知道如何将它从一个对象更改为字符串

web服务WSDL:


错误

对象不是集合

经典ASP代码:

result2 = soap.getProductFunctions("AEDO")
i = 0
For Each present In result2
    If mid(user_auth_key,i,1) = 1 Then
        response.write("success")
    End If
    response.write(present)
    response.write("<br />")
    i = i+1
Next
result2=soap.getProductFunctions(“AEDO”)
i=0
对于结果2中的每一项
如果mid(用户认证密钥,i,1)=1,则
回答。写下(“成功”)
如果结束
回答:写(现在)
响应。写入(“
”) i=i+1 下一个
您是否尝试过使用单词集,因为这将返回一个对象

SET result2 = soap.getProductFunctions("AEDO")

您是否尝试过使用单词集,因为这将返回一个对象

SET result2 = soap.getProductFunctions("AEDO")

VBScript是脚本语言,因此不可能执行类型转换,因此问题可能比您想象的更严重。首先,让我们调试一下:当您有
Response.Write(result2)
时,您会得到什么?关于
Response.Write(CStr(result2))
呢?最后是
Response.Write(TypeName(result2))
?请让我们知道每个的输出,它可能会对这个问题有所帮助。+1阴影向导。我猜类型名是
String()
,VBScript无法处理它。(如果我没有错的话)@David您可以再添加一个可选参数,以使您的web服务具有向后兼容性。如果是
classic asp
,则web服务将返回带分隔符的字符串,而不是
字符串数组。你们可以在经典asp中拆分返回值,所以它是可移植的。嘿,伙计们,谢谢你们的回答,我将在一个小时后查看这个,并报告我的进度。VBScript是脚本语言,因此不可能执行类型转换,所以问题可能比你们想象的更严重。首先,让我们调试一下:当您有
Response.Write(result2)
时,您会得到什么?关于
Response.Write(CStr(result2))
呢?最后是
Response.Write(TypeName(result2))
?请让我们知道每个的输出,它可能会对这个问题有所帮助。+1阴影向导。我猜类型名是
String()
,VBScript无法处理它。(如果我没有错的话)@David您可以再添加一个可选参数,以使您的web服务具有向后兼容性。如果是
classic asp
,则web服务将返回带分隔符的字符串,而不是
字符串数组。你们可以在经典asp中拆分返回值,所以它是可移植的。嘿,伙计们,谢谢你们的回复,我将在大约一个小时后查看这个,并报告我的进度。