我的开发环境vb6+soap3.0 +axis2 +tomcat 5.5
我java返回的是数组,用VB接收,变成了字符串了,请问如何才能接收数组?
    public  String[] personName()
    {
String[] names={"sunhl","caoyl","jinyx"};



     return names;
    
    }Dim objSoapClient30 As New SoapClient30
Dim result As Integer
Dim centense As String
Dim PersonNum As IntegerDim personInfo() As StringobjSoapClient30.mssoapinit ("http://localhost:8099/axis2/services/SimpleService?wsdl")
PersonNum = objSoapClient30.PersonNum()
'ReDim personInfo(1, 2) As String
personInfo = objSoapClient30.personName()  MsgBox VarType(objSoapClient30.personName()), vbOKOnly, "提示"
把personInfo定义成数组的时候运行时报类型不匹配,定义成字符串可以接收第一个值。
应该怎么才能接收整个数组,谢谢回复!!

解决方案 »

  1.   

    try:Dim personInfo() As String 
    personInfo = objSoapClient30.personName() 
      

  2.   

    VarType(objSoapClient30.personName())用这个得到的类型是String 型,不是数组
      

  3.   

    Dim personInfo() As String 
    personInfo = objSoapClient30.personName() 这样会报类型不匹配
      

  4.   

    看你的代码中,是如下定义数组的:
    'ReDim personInfo(1, 2) As String 
    personInfo = objSoapClient30.personName() 
    指定了数组的下标和维娄,这样定义当然不对要用动态数组:
    Dim personInfo() As String 
    personInfo = objSoapClient30.personName() 
    这个我用了是没有问题的...
      

  5.   

    webserivce都是基于xml的,如果不行,你就用xml来处理数据,简单示例:http://blog.csdn.net/vbman2003/archive/2007/08/30/1765393.aspx
      

  6.   


    'ReDim personInfo(1, 2) As String ,这个我注释掉了,
    要用动态数组: 
    Dim personInfo() As String 
    personInfo = objSoapClient30.personName() 
    这个我用了是没有问题的... 
    你能说一下你的开发环境吗?我感觉我好象是缺什么东西了?
      

  7.   

    我调objSoapClient30.mssoapinit ("http://www.ayandy.com/Service.asmx?WSDL").net写的返回数组的程序是没有问题的,可不知道为什么java的不行,上面的网址是公用网址我可以得到他的值
    Dim objSoapClient30 As New SoapClient30
    Dim result As Integer
    Dim centense As String
    objSoapClient30.mssoapinit ("http://www.ayandy.com/Service.asmx?WSDL")Dim weatherContent() As String
    weatherContent = objSoapClient30.getWeatherbyCityName("北京", "Today")
    可以得到值,不知道为什么java返回的数组得不到值.
      

  8.   

    嗯,我也是asp.net的web服务,java不懂了,你也可以试试不指定类型,比如:Dim personInfo() 
    personInfo = objSoapClient30.personName() 
    或者:
    Dim personInfo 
    personInfo = objSoapClient30.personName() 
    不过相信用xml解析应该可以吧
      

  9.   

    http://topic.csdn.net/t/20050508/18/3990089.html,这是我查的一篇文章,你能帮我看一下,是不是我插件的问题呢?看他的意思好象可以传一维数组。谢谢!!
      

  10.   


    中场休息,请问VBMAN:你博客里的代码怎么还带加减号的啊(可以折叠展开的那种),是怎么做的?
      

  11.   

    哦,对java的web服务,你的情况看来不是个例...建议你尝试用xml来解决吧
    就用的论坛默认的插入代码的编辑器啊..
      

  12.   

    只会2级VB,帮不上忙,LZ给点分吧
    dim A as string,B as string,c as string,D as string
    D = ch(10) +ch(13)
    A = "只会" 
    B = "2级VB“
    C = "楼主好心人,给点分吧"
    text1.text = A + D + B + D + C
      

  13.   

    可以用
    dim personInfo as Variant
    调试看看接收到的内容是什么