Java调用Webservice数组参数传递有问题

String[]arr=newString[2];arr[0]="abc";arr[1]="def";Stringstr="myteststr";Clientclient... String[] arr = new String[2];
arr[0]="abc";
arr[1]="def";
String str="myteststr";
Client client = new Client(new URL("http://xx.xx.xx.xx:9084/eee/infoService?wsdl"));
Object[] results = client.invoke("getStudentInfo",new Object[] {str,arr});
上面的代码是我调用java webservice的getStudentInfo方法。参数为一个字符串数组一个字符串,但是我在后台的
getStudentInfo方法打印的时候str参数能正常打印出来,但是arr这个字符串数组却打印的不对。只是打印出是一个String的对象。并且我从后台输出.length的时候竟然是1。但是我从客户端调用的时候明明传进去的是一个长度为2的字符串数组。求高手指导,
谢谢!!
我后台打印出来的是[Ljava.lang.String;@288051
展开
 我来答
乐美生活每一天
2011-08-19 · 你怎么对待生活,生活就会怎么对待你
乐美生活每一天
采纳数:322 获赞数:447

向TA提问 私信TA
展开全部
因为webservice的参数只能是基本的数据类型,如果是其他类型只能转成字符类型处理。这个问题我之前也遇到过,你把那个数组改成字符串吧,到后台再做拆分就可以了。
恶铯狼
2011-08-10 · TA获得超过199个赞
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:102万
展开全部
没用过webservice,不过还是提点建议给你参考:长度为2的数组做成两个参数好了,那样方法的参数变为三个,这样应该能解决问题。还有你打印出的String是不是abcdef?如果是的话,更证明了这点:参数类型有限制的,或说你还没做好映射转换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lxp1788
2011-08-20
知道答主
回答量:18
采纳率:0%
帮助的人:7.8万
展开全部
-- 你这样打印
System.out.println(arr[0]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q87691116
2011-08-11
知道答主
回答量:66
采纳率:0%
帮助的人:30.6万
展开全部
参数顺序没反?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式