CONVERTER XML EM OBJETO JAVA COM XSTREAM

Java

03/08/2016

Bom dia. Estou a tentar converter um XML para objetos JAVA mas ao executar eu recebo o erro abaixo. Segue também minhas classes. Se alguém puder me ajudar fico muito grato.

======================================================================
--========================================================================
-- ERRO AO EXECUTAR ClientWS
--=========================================================================
Exception in thread "main" com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : patient_id
class : java.util.ArrayList
required-type : java.util.ArrayList
converter-type : com.thoughtworks.xstream.converters.collections.CollectionConverter
path : /root/examData/patient_id
line number : 1
class[1] : serviceController.Root
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
version : 1.4.9
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:70)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:503)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:429)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:281)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:70)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1230)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1214)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1085)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1076)
at serviceController.ClientWS.main(ClientWS.java:86)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: patient_id
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:81)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.SecurityMapper.realClass(SecurityMapper.java:71)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:47)
at com.thoughtworks.xstream.core.util.HierarchicalStreams.readClassType(HierarchicalStreams.java:29)
at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:72)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.addCurrentElementToCollection(CollectionConverter.java:98)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:91)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:85)
at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:80)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
... 16 more

--===========================================================================
---CLASSE ClientWS.java -----
--===========================================================================
package serviceController;



import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.StringReader;
import java.net.MalformedURLException;

import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

import javax.xml.rpc.ServiceException;
import com.thoughtworks.xstream.annotations.XStreamAlias;



import com.mirth.connect.connectors.ws.DefaultAcceptMessage;

import com.mirth.connect.connectors.ws.DefaultAcceptMessageServiceLocator;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.Dom4JDriver;
import com.thoughtworks.xstream.io.xml.DomDriver;


//import org.xmlpull.v1.XmlPullParser;
//import org.xmlpull.v1.XmlPullParserException;

public class ClientWS {
public static void main (String args [] ) throws ServiceException, RemoteException {
string xml = "<root> "
+ "<examData> "
+ "<patient_id>425161</patient_id>"
+ "<firstName>MARIA</firstName>"
+ "<lastName>COBRA</lastName>"
+ "<middleName>LEONOR PINTO DE BARROS</middleName>"
+ " <modality>OT</modality>"
+ " <examCode>1041</examCode>"
+ " <examDesc>ELETROCARDIOGRAMA - ECG</examDesc>"
+ " <examDate>12/11/2015</examDate>"
+ " <examTime>08:29:00</examTime>"
+ " <patientSedado>null</patientSedado>"
+ " <usadoContraste>null</usadoContraste>"
+ " <volumeContraste>null</volumeContraste>"
+ " <loteContraste>null</loteContraste>"
+ " <visitNumber>13205508</visitNumber>"
+ " <accessionNumber>1516383</accessionNumber>"
+ " </examData>"
+ "<examData> "
+ "<patient_id>425161</patient_id>"
+ "<firstName>MARIA</firstName>"
+ "<lastName>COBRA</lastName>"
+ "<middleName>LEONOR PINTO DE BARROS</middleName>"
+ " <modality>OT</modality>"
+ " <examCode>1041</examCode>"
+ " <examDesc>ELETROCARDIOGRAMA - ECG</examDesc>"
+ " <examDate>12/11/2015</examDate>"
+ " <examTime>08:29:00</examTime>"
+ " <patientSedado>null</patientSedado>"
+ " <usadoContraste>null</usadoContraste>"
+ " <volumeContraste>null</volumeContraste>"
+ " <loteContraste>null</loteContraste>"
+ " <visitNumber>13205508</visitNumber>"
+ " <accessionNumber>1516383</accessionNumber>"
+ " </examData>"
+ "</root> " ;


XStream xstream = new XStream();
xstream.alias("root" , Root.class);
xstream.alias("examData" , ExamData.class);

Root minhaBusca = (Root) xstream.fromXML(xml);



}

---====================================================================----
--- CLASSE Root.java
---====================================================================-----
package serviceController;


import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;


public class Root {


private List examData = new ArrayList();

public List getExamData() {
return examData;
}

public void setExamData(List examData) {
this.examData = examData;
}


}

--=====================================================================
---CLASSE ExamData.java
--======================================================================


package serviceController;

import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;


public class ExamData {
private String patient_id;
private String firstName;
private String lastName;
private String middleName;
private String modality;
private String examCode;
private String examDesc;
private String examDate;
private String examTime;
private String patientSedado;
private String usadoContraste;
private String volumeContraste;
private String loteContraste;
private String visitNumber;
private String accessionNumber;


//
public String getPatient_id() {
return patient_id;
}
public void setPatient_id(String patient_id) {
this.patient_id = patient_id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
public String getModality() {
return modality;
}
public void setModality(String modality) {
this.modality = modality;
}
public String getExamCode() {
return examCode;
}
public void setExamCode(String examCode) {
this.examCode = examCode;
}
public String getExamDesc() {
return examDesc;
}
public void setExamDesc(String examDesc) {
this.examDesc = examDesc;
}
public String getExamDate() {
return examDate;
}
public void setExamDate(String examDate) {
this.examDate = examDate;
}
public String getExamTime() {
return examTime;
}
public void setExamTime(String examTime) {
this.examTime = examTime;
}
public String getPatientSedado() {
return patientSedado;
}
public void setPatientSedado(String patientSedado) {
this.patientSedado = patientSedado;
}
public String getUsadoContraste() {
return usadoContraste;
}
public void setUsadoContraste(String usadoContraste) {
this.usadoContraste = usadoContraste;
}
public String getVolumeContraste() {
return volumeContraste;
}
public void setVolumeContraste(String volumeContraste) {
this.volumeContraste = volumeContraste;
}
public String getLoteContraste() {
return loteContraste;
}
public void setLoteContraste(String loteContraste) {
this.loteContraste = loteContraste;
}
public String getVisitNumber() {
return visitNumber;
}
public void setVisitNumber(String visitNumber) {
this.visitNumber = visitNumber;
}
public String getAccessionNumber() {
return accessionNumber;
}
public void setAccessionNumber(String accessionNumber) {
this.accessionNumber = accessionNumber;
}




}
Walmir Lima

Walmir Lima

Curtidas 0
POSTAR