VB如何取webserivce里的返回的数组java返回的数组

sunliusun 2009-05-14 10:41:53
加精
我的开发环境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 Integer

Dim personInfo() As String

objSoapClient30.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定义成数组的时候运行时报类型不匹配,定义成字符串可以接收第一个值。
应该怎么才能接收整个数组,谢谢回复!!
...全文
454 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
crycoming 2011-04-09
  • 打赏
  • 举报
回复
可以用
dim personInfo as Variant
调试看看接收到的内容是什么
wsq279024988 2009-05-16
  • 打赏
  • 举报
回复
学习一下
vbman2003 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sunliusun 的回复:]
http://topic.csdn.net/t/20050508/18/3990089.html,这是我查的一篇文章,你能帮我看一下,是不是我插件的问题呢?看他的意思好象可以传一维数组。谢谢!!
[/Quote]
哦,对java的web服务,你的情况看来不是个例...建议你尝试用xml来解决吧



[Quote=引用 11 楼 slowgrace 的回复:]
引用 5 楼 vbman2003 的回复:
webserivce都是基于xml的,如果不行,你就用xml来处理数据,简单示例:http://blog.csdn.net/vbman2003/archive/2007/08/30/1765393.aspx


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

就用的论坛默认的插入代码的编辑器啊..
aadss 2009-05-15
  • 打赏
  • 举报
回复
只会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
vbman2003 2009-05-14
  • 打赏
  • 举报
回复
webserivce都是基于xml的,如果不行,你就用xml来处理数据,简单示例:http://blog.csdn.net/vbman2003/archive/2007/08/30/1765393.aspx
vbman2003 2009-05-14
  • 打赏
  • 举报
回复
看你的代码中,是如下定义数组的:
'ReDim personInfo(1, 2) As String
personInfo = objSoapClient30.personName()
指定了数组的下标和维娄,这样定义当然不对

要用动态数组:
Dim personInfo() As String
personInfo = objSoapClient30.personName()
这个我用了是没有问题的...

sunliusun 2009-05-14
  • 打赏
  • 举报
回复
Dim personInfo() As String
personInfo = objSoapClient30.personName() 这样会报类型不匹配
sunliusun 2009-05-14
  • 打赏
  • 举报
回复
VarType(objSoapClient30.personName())用这个得到的类型是String 型,不是数组
vbman2003 2009-05-14
  • 打赏
  • 举报
回复
try:

Dim personInfo() As String
personInfo = objSoapClient30.personName()
slowgrace 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vbman2003 的回复:]
webserivce都是基于xml的,如果不行,你就用xml来处理数据,简单示例:http://blog.csdn.net/vbman2003/archive/2007/08/30/1765393.aspx
[/Quote]

中场休息,请问VBMAN:你博客里的代码怎么还带加减号的啊(可以折叠展开的那种),是怎么做的?
zhangliupiao 2009-05-14
  • 打赏
  • 举报
回复
什么都不知道
sunliusun 2009-05-14
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20050508/18/3990089.html,这是我查的一篇文章,你能帮我看一下,是不是我插件的问题呢?看他的意思好象可以传一维数组。谢谢!!
vbman2003 2009-05-14
  • 打赏
  • 举报
回复
嗯,我也是asp.net的web服务,java不懂了,你也可以试试不指定类型,比如:

Dim personInfo()
personInfo = objSoapClient30.personName()
或者:
Dim personInfo
personInfo = objSoapClient30.personName()


不过相信用xml解析应该可以吧
sunliusun 2009-05-14
  • 打赏
  • 举报
回复
我调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返回的数组得不到值.
sunliusun 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 vbman2003 的回复:]
看你的代码中,是如下定义数组的:
'ReDim personInfo(1, 2) As String
personInfo = objSoapClient30.personName()
指定了数组的下标和维娄,这样定义当然不对

要用动态数组:
Dim personInfo() As String
personInfo = objSoapClient30.personName()
这个我用了是没有问题的...
[/Quote]

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

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧