我有一个包含10个值的ArrayList。
ArrayList<String> a=new ArrayList<String>();
a.add("a1");
a.add("a2");
a.add("a3");
我正在调用WebService将此ArrayList作为输入参数传递。 但是,当我创建一个虚拟客户端并测试ArrayList时,我没有得到输出..我正在使用Apache Axis 2。 我意识到ArrayList没有同步,因此可能存在问题......我如何克服这个问题.... 我正在寻找最简单的解决方案...... 任何人都可以指导我......
服务器端代码为: -
public class TestWebSerrviceForArrayList
{
public String personIdentity="RandomName";
ArrayList<String> personArray=new ArrayList<String>();
public ArrayList<String> addValuesArrayList()
{
personArray.add("Name1");
personArray.add("Name2");
personArray.add("Name3");
personArray.add("Name4");
System.out.println("Added values in person Array " + personArray);
return personArray;
}
public String getName()
{
return personIdentity;
}
}
客户端的代码段是: -
TestWebSerrviceForArrayListStub testWeb=new TestWebSerrviceForArrayListStub();
AddValuesArrayListResponse r=testWeb.(I AM NOT ABLE TO FIND THE FUNCTION NAME)
答案 0 :(得分:1)
ArrayList
,但List
是。{1}}。它与ArrayList
的同步无关,而是与WSDL理解的数据类型相匹配。
如前所述:我会将此方法的返回类型更改为List<String>
,如下所示(并重新生成WSDL)。
public List<String> addValuesArrayList()
{
personArray.add("Name1");
personArray.add("Name2");
personArray.add("Name3");
personArray.add("Name4");
System.out.println("Added values in person Array " + personArray);
return personArray;
}