2012-02-14 96 views
1

我有一个web服务,它应该接受参数a java.util.ArrayList<java.util.ArrayList<String>>,但web service方法只接受一个数组,例如my.other.ArrayList[]ArrayList <ArrayList <String>> webservice的参数

我该如何传递给我想要的东西?

然后它返回一个my.other.HashMap但我想在我的java.util.HashMap<String, MyClass>中更改此地图,对于这一点,我该怎么办?

非常感谢。

wsmethod作为客户端。

public my.other.HashMap getWhatIWant(my.other.ArrayList[] arg0) throws java.rmi.RemoteException; 

真正paramethers

public java.util.HashMap<String, MyClass> getWhatIWant(java.util.ArrayList<java.util.ArrayList<String>> arg0) throws java.rmi.RemoteException; 
+0

你有没有试着用'java.util'更换'my.other' ? – cheeken 2012-02-14 10:04:02

+0

webservice接受一个标准的java数组('[]'),其元素是'ArrayList's,对不对? – vulkanino 2012-02-14 10:05:52

+0

@cheeken你在说什么替换时是什么意思?我只是试图从我的java.util.ArrayList 传递给一个Object [],它具有元素Object [](我也试过String []),然后当我通过我的时候服务方法的Object []参数,但不起作用。 – 2012-02-14 10:15:53

回答

0

要将java.util.ArrayList<java.util.ArrayList<String>>转换成一个数组,您可以使用,例如:

ArrayList<ArrayList<String>>res=new ArrayList<ArrayList<String>>(); 
    my.other.ArrayList<String> [] array = res.toArray(new my.other.ArrayList[0]); 
+0

谢谢alain,但它给了我一个错误:类型my.other.ArrayList不是通用的;它不能用参数参数化 2012-02-15 07:51:09

+0

好吧,你已经尝试'my.other.ArrayList [] array = res.toArray(new my.other.ArrayList [0]);'? – 2012-02-15 13:43:28

+0

当然我做了,谢谢,但我“解决了”这个问题:我修改了ws方法,这是最好也是最简单的选择。不管怎样,谢谢你 – 2012-02-16 08:43:12

相关问题