读书人

关于Axis2传回ArrayList的有关问题

发布时间: 2012-10-12 10:17:04 作者: rapoo

关于Axis2传回ArrayList的问题
我正在学习web service想传一个ArrayList给客户端但报错请教
service class如下:

Java code
public class ReturnArrayList {    public ArrayList sayHelloArray(String user){        ArrayList al = new ArrayList();        al.add("str01");        al.add("str02");        al.add("str02");        al.add("str02");        return al;    }}

用eclipse发布成web service没问题
再使用eclipse -> Axis2 Code Generator产生client如下:
Axis2ArrayListTest.java
Axis2ArrayListTestCallbackHandler.java
Axis2ArrayListTestStub.java
ExtensionMapper.java
SayHelloArray.java
SayHelloArrayResponse.java
自己写的如下:
Java code
public class testAxis2ArrayListClient {    public static void main(String[] args) {        try {            Axis2ArrayListTest a2t = new Axis2ArrayListTestStub();            SayHelloArray sayHelloArray = new SayHelloArray();            sayHelloArray.setUser("Garrick");            SayHelloArrayResponse response = a2t.sayHelloArray(sayHelloArray);            ArrayList al = (ArrayList) response.get_return();            Iterator it = al.iterator();            while(it.hasNext()){                System.out.println(it.next());            }        } catch (AxisFault e) {            e.printStackTrace();        } catch (RemoteException e) {            e.printStackTrace();        }            }}


产生错误如下:
Java code
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Any type element type has not been given    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)    at axisarray.Axis2ArrayListTestStub.fromOM(Axis2ArrayListTestStub.java:514)    at axisarray.Axis2ArrayListTestStub.sayHelloArray(Axis2ArrayListTestStub.java:193)    at testWebService.testAxis2ArrayListClient.main(testAxis2ArrayListClient.java:24)Caused by: java.lang.Exception: org.apache.axis2.databinding.ADBException: Any type element type has not been given    at axisarray.SayHelloArrayResponse$Factory.parse(SayHelloArrayResponse.java:447)    at axisarray.Axis2ArrayListTestStub.fromOM(Axis2ArrayListTestStub.java:508)    ... 2 moreCaused by: org.apache.axis2.databinding.ADBException: Any type element type has not been given    at org.apache.axis2.databinding.utils.ConverterUtil.getAnyTypeObject(ConverterUtil.java:1649)    at axisarray.SayHelloArrayResponse$Factory.parse(SayHelloArrayResponse.java:425)    ... 3 more


[解决办法]
我只知道错误信息大概是两边类型不对应问题,,具体没玩过WEBSERVICE= =

读书人网 >Java Web开发

热点推荐