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

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
最新回答
咱門都要狠快乐≥

2024-07-29 03:26:30

因为webservice的参数只能是基本的数据类型,如果是其他类型只能转成字符类型处理。这个问题我之前也遇到过,你把那个数组改成字符串吧,到后台再做拆分就可以了。
北港不夏

2024-07-29 05:08:34

没用过webservice,不过还是提点建议给你参考:长度为2的数组做成两个参数好了,那样方法的参数变为三个,这样应该能解决问题。还有你打印出的String是不是abcdef?如果是的话,更证明了这点:参数类型有限制的,或说你还没做好映射转换。
下次请我

2024-07-29 04:58:58

-- 你这样打印
System.out.println(arr[0]);
手可摘星辰

2024-07-29 01:16:31

参数顺序没反?