java.lang.IllegalArgumentException: Illegal character (U+0) 待解决的主题

    xiaoxiao2021-12-14  15

    12-02 15:27:25.153: W/System.err(8101): java.lang.IllegalArgumentException: Illegal character (U+0) 12-02 15:27:25.154: W/System.err(8101): at org.kxml2.io.KXmlSerializer.reportInvalidCharacter(KXmlSerializer.java:148) 12-02 15:27:25.154: W/System.err(8101): at org.kxml2.io.KXmlSerializer.writeEscaped(KXmlSerializer.java:139) 12-02 15:27:25.154: W/System.err(8101): at org.kxml2.io.KXmlSerializer.text(KXmlSerializer.java:540) 12-02 15:27:25.154: W/System.err(8101): at org.ksoap2.serialization.DM.writeInstance(DM.java:102) 12-02 15:27:25.155: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:771) 12-02 15:27:25.155: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeProperty(SoapSerializationEnvelope.java:764) 12-02 15:27:25.155: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:688) 12-02 15:27:25.155: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBodyWithAttributes(SoapSerializationEnvelope.java:664) 12-02 15:27:25.155: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:777) 12-02 15:27:25.155: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeProperty(SoapSerializationEnvelope.java:764) 12-02 15:27:25.156: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBody(SoapSerializationEnvelope.java:688) 12-02 15:27:25.156: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeObjectBodyWithAttributes(SoapSerializationEnvelope.java:664) 12-02 15:27:25.156: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:777) 12-02 15:27:25.156: W/System.err(8101): at org.ksoap2.serialization.SoapSerializationEnvelope.writeBody(SoapSerializationEnvelope.java:634) 12-02 15:27:25.156: W/System.err(8101): at org.ksoap2.SoapEnvelope.write(SoapEnvelope.java:205) 12-02 15:27:25.156: W/System.err(8101): at org.ksoap2.transport.Transport.createRequestData(Transport.java:153) 12-02 15:27:25.157: W/System.err(8101): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:149) 12-02 15:27:25.161: W/System.err(8101): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:118) 12-02 15:27:25.161: W/System.err(8101): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:113) 12-02 15:27:25.161: W/System.err(8101): at com.example.webservice.KsoapFeedbackservice.saveLostevents(KsoapFeedbackservice.java:259) 12-02 15:27:25.161: W/System.err(8101): at com.example.processor.MultiTask.doInBackground(MultiTask.java:243) 12-02 15:27:25.163: W/System.err(8101): at android.os.AsyncTask$2.call(AsyncTask.java:295) 12-02 15:27:25.163: W/System.err(8101): at java.util.concurrent.FutureTask.run(FutureTask.java:237) 12-02 15:27:25.163: W/System.err(8101): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234) 12-02 15:27:25.164: W/System.err(8101): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 12-02 15:27:25.164: W/System.err(8101): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)

    12-02 15:27:25.164: W/System.err(8101): at java.lang.Thread.run(Thread.java:818)

    解决方式是:

    Marshal 类型要放在 PropertyInfo前注册, 比如:

    MarshalDate md = new MarshalDate(); md.register(envelope);

           for(int i = 0; i< templist.size(); i++) {         if(i>0 && isNeededFiltered(templist.get(i-1),templist.get(i))){         continue;         }            PropertyInfo propertyInfo = new PropertyInfo();            propertyInfo.setName("arg0");            propertyInfo.setType(Lostevent.class);            if((templist.get(i).getLosteventtype() != null ) && templist.get(i).getLosteventtype().equals("电话")){             String callrecord = templist.get(i).getCallrecord();             if(callrecord.contains("号码:") && callrecord.contains(" 联系人姓名")){             String phonenumber = callrecord.substring(callrecord.indexOf("号码:")+3,callrecord.indexOf(" 联系人姓名"));             if(phonenumber.length() > 5){             phonenumber = phonenumber.trim();             callrecord += ShareTools.getLocationOfPhoneNumber(phonenumber);             templist.get(i).setCallrecord(callrecord);             }             }            }                  templist.get(i).setLosteventid("");            propertyInfo.setValue(templist.get(i));            request.addProperty(propertyInfo);            //System.err.println("------------- webservice saveLostevents  lts i = "+ i);            if((templist.get(i).getLosteventtype() != null ) && templist.get(i).getLosteventtype().equals("位置信息")){             double lat = Double.parseDouble(templist.get(i).getLocatiomhorizontal());             double longitude = Double.parseDouble(templist.get(i).getLocationvertical());             double distance = ShareTools.getDistance(DefenderApp.last_longitude, DefenderApp.last_latitude, longitude, lat);             if(distance > 50){             DefenderApp.last_longitude =  longitude;             DefenderApp.last_latitude = lat;             DefenderApp.last_location = templist.get(i).getLocation();             }             else{             DefenderApp.likely_location_count++;             if(DefenderApp.likely_location_count > DefenderApp.SAME_LOCATION_THREADSHOD/* && (DefenderApp.last_latitude != lat)*/){             DefenderApp.likely_location_count = 0;             ef = new Efence();             //ef.setEfenceid(System.currentTimeMillis()+"");             ef.setLocation(DefenderApp.last_location);             ef.setLastlat(DefenderApp.last_latitude);             ef.setLastlot(DefenderApp.last_longitude);             ef.setLaststaytime(30l);             ef.setStarttime(new Date(System.currentTimeMillis()-30*60000));             ef.setPhone(ShareTools.phonenumberfix(DefenderApp.phone));             if(DefenderApp.last_location.contains("兴趣点")){             String efencename = DefenderApp.last_location.substring(DefenderApp.last_location.indexOf("兴趣点")+4, DefenderApp.last_location.length());             String[] pois =efencename.split(";");             if(pois!= null && pois.length>0){             if(pois.length>1){             ef.setAlainame(pois[0]+","+pois[1]);             }             else{             ef.setAlainame(pois[0]);             }             }             }             }             }            }        }        envelope.bodyOut = request;

    envelope.bodyOut = request;        transport.debug = true;                               transport.call(WebsericeData.NAMESPACE+METHOD_saveLostevents, envelope);      //System.out.println(transport.requestDump);        

    转载请注明原文地址: https://ju.6miu.com/read-964434.html

    最新回复(0)