Ho scaricato i messaggi Soap da un servizio SOAP e sto provando a prendere in giro il servizio Soap restituendo il download messaggi. il codice seguente mostra come sto deserializzazione del messaggio SOAP nella risposta richiestaNetbeans con JAXB Random ClassCastException .. non può essere lanciato su com.sun.xml.bind.v2.runtime.reflect.Accessor
public static DataClientType unmarshallFile(String fileName) throws Exception {
XMLInputFactory xif = XMLInputFactory.newFactory();
XMLStreamReader xsr = xif.createXMLStreamReader(ClientSampleSoapResponseData.class.getResourceAsStream(fileName));
xsr.nextTag(); // Advance to Envelope tag
xsr.nextTag(); // Advance to Header
xsr.nextTag(); // Advance to Body tag
xsr.nextTag(); // Advance to getClientByAccountResponse
xsr.nextTag(); // Advance to content of getClientByAccountResponse
JAXBContext jc = JAXBContext.newInstance(GetClientByAccountResponse.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
JAXBElement<GetClientByAccountResponse> je = unmarshaller.unmarshal(xsr, GetClientByAccountResponse.class);
return je.getValue().getClientDataContract();
}
Tuttavia continuo a ricevere questo ClassCastExeption che avviene in modo casuale. Dopo un certo numero di iterazioni di prova, inizia a succedere. A volte un clean e build lo risolve ma a volte non funziona.
java.lang.ClassCastException: com.x.X.X.X.GetClientByAccountResponse$JaxbAccessorF_clientDataContract cannot be cast to com.sun.xml.bind.v2.runtime.reflect.Accessor
at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:188)
at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:180)
at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:256)
at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.<init>(SingleElementNodeProperty.java:90)
Ho provato altri suggerimenti online come un ritorno alle versioni vecchie JAXB e utilizzando le cartelle approvati nella configurazione di Maven compilatore, ma succede ancora
Tutte le idee su quello che potrebbe essere la causa e le possibili soluzioni?
Thank u
@TheDownVoter se stai andando in giro a votare le domande dei popoli, almeno fornisci una motivazione o suggerisci qualcosa! Ricorda che non siamo tutti intelligenti come pensi di essere. –