网海情缘的gravatar头像
网海情缘 2017-11-22 10:54:11

Java Webservice return ArrayList 报错问题

public ArrayList<Info> getInfo(String strStartCTime, String strEndCTime, int iStart, int iEnd, int itaskid) throws NoSuchMethodException, IOException {
        //创建时间计时器
        long lasting = System.currentTimeMillis();
        //创建list数组
        ArrayList<Info> list = new ArrayList<Info>();
        //预定义变量
        ArrayList<Field> al_field = null;
        ArrayList<File> al_files = null;
        Field field = null;
        Info info = null;
        //读取文件,将来需要实时监控
        java.io.File file = new java.io.File("H:\\Java\\bureau\\templates\\Demo.xls");
        String[][] result = ExcelOperate.getData(file, 1);
        int rowLength = result.length;
        //循环文件内的字段
        for (int i = 0; i == 0; i++) {
            //Info属性
            info = new Info();
            info.setId("000" + (i + 1));
            info.setCtime(result[i][2]);
            info.setState(result[i][3]);
            //Info下的Field的属性
            al_field = new ArrayList<Field>();
            field = new Field();
            field.setName("title");
            field.setContent(result[i][0]);
            al_field.add(field);
            field = new Field();
            field.setName("content");
            field.setContent(result[i][1]);
            al_field.add(field);
            info.setFiled(al_field);
            //文件需要传值为空进去
            al_files = new ArrayList<File>();
            info.setFiles(al_files);
            System.out.println(i+":"+result[i][1]);
            //添加Info到List内
            list.add(info);
        }
        long lasting2 = System.currentTimeMillis();
        System.out.println("GetInfo方法:"+(lasting2 - lasting)+"ms");
        return list;
    }
result[i][1] 这个变量稍微长一个汉字就会报错、多次循环往List里面添加也会报错、
************** 异常文本 **************
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Xml.XmlException: 根级别上的数据无效。 行 1,位置 1。
   在 System.Xml.XmlTextReaderImpl.Throw(Exception e)
   在 System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   在 System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
   在 System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   在 System.Xml.XmlTextReaderImpl.Read()
   在 System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   在 System.Xml.XmlDocument.Load(XmlReader reader)
   在 System.Xml.XmlDocument.LoadXml(String xml)
   在 System.Xml.XmlDocument.set_InnerXml(String value)
   在 WebServiceStudio.MessageTracer.ReadMessage(Stream from, Int32 len, String contentType)
   在 WebServiceStudio.WSSWebResponse.DumpResponse(WebResponse response)
   在 WebServiceStudio.WSSWebResponse.DumpResponse()
   在 WebServiceStudio.WSSWebRequest.GetResponse()
   在 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   在 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
   在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   在 WsInfoService.getInfo(String strLoginId, String strPwd, String strKey, String strStartCTime, String strEndCTime, Int32 iStart, Int32 iEnd, Int32 itaskid)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 WebServiceStudio.MainForm.InvokeWebMethod()
   在 WebServiceStudio.MainForm.buttonInvoke_Click(Object sender, EventArgs e)
   在 System.Windows.Forms.Control.OnClick(EventArgs e)
   在 System.Windows.Forms.Button.OnClick(EventArgs e)
   在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   在 System.Windows.Forms.Button.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

上面是报错信息、希望得到帮助、基础较差、已经处理两天这个问题了、

所有回答列表(3)
comejl的gravatar头像
comejl  LV11 2017年11月25日

ArrayList<Info> list = new ArrayList<Info>();

问题出在这里,list对象大小固定为10了。

评论(2) 最佳答案
sys0613的gravatar头像
sys0613  LV12 2017年11月23日

for (int i = 0; i == 0; i++) {你这个是什么鬼?能循环么?

网海情缘的gravatar头像
网海情缘  LV11 2017年11月23日
for (int i = 0; i < rowLength; i++) {

这样多次循环以后量大了报错、

我读取的xls里面文字多几个也出错、文字少于一定量才能请求成功。(8个汉字)

相关问答
最近浏览
Strivers  LV4 2019年8月7日
rockman1988  LV1 2019年5月27日
yuanshengjie  LV1 2019年5月9日
liuhaitie  LV14 2018年2月3日
fqtest  LV2 2018年1月10日
醉美猴王  LV16 2017年12月14日
谁处即性  LV2 2017年12月8日
wqc6666  LV13 2017年12月7日
天险无涯  LV15 2017年12月6日
YX5337934887  LV7 2017年12月1日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友