У меня проблема при попытке отправить файл xml между Android и сервлетом с POST. Я использую ( Simple XML ) для сериализации.
Мой сервлет делает ответ на Android:
Serializer serial = new Persister();
OutputStream o = response.getOutputStream();
MyXML myXML = new MyXML();
myXML.setMyElement("test");
serial.write(myXML, o);
Предполагается, что я отправлю мой xml напрямую клиенту,
<MyXML>
<MyElement>test</MyElement>
</MyXML>
Но он отправляет только первую строку. Затем на стороне Android появляется это исключение, потому что он не может получить вторую строку с элементом.
WARN/System.err(490): org.simpleframework.xml.core.ElementException: Element 'MyElement' does not have a match in class java.lang.Class at line -1
Я не могу понять, почему он сериализует только первую строку, когда я делаю это с OutputStream, потому что он работает, когда я сохраняю файлы без отправки,
Serializer serial = new Persister();
File file = new File("MyPath");
MyXML myXML = new MyXML();
myXML.setMyElement("test");
serial.write(myXML, file);
Мне нужно сделать это так, а не с байтами, просто чтобы не задавать длину содержимого ответа.
Большое спасибо,
РЕДАКТИРОВАТЬ : Добавление MyXML.class
Есть MyXML.class,
package part.myApp;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;
@Root(name="MyXML")
public class MyXML{
@Element(name="MyElement")
private String a;
public void setMyElement(String a){
this.a=a;
}
public String getMyElement() {
return a;
}
}
Спасибо.