Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [JAVA] Eccezione No Serializer Found

    Ragazzi, sto utilizzando Axis con Tomcat e devo convalidare un file xml che mi viene passato nel metodo che espongo come un InputStream.
    Il problema e' che mi solleva un'eccezione :

    java.io.IOException: No serializer found for class java.io.ByteArrayInputStream in registry org.apache.axis.encoding.TypeMappingDelegate@3bb2b 8


    Il codice e' il seguente :

    Call call = (Call) new Service().createCall();

    call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/services/"));

    call.setOperationName(new QName("urn:Servizio", "scrivi"));

    String XMLDocument = "<xml><Contiene il documento XML/><xml>";

    Object rispostaWS = call.invoke(new Object[]{new ByteArrayInputStream(XMLDocument.getBytes())});


    Perche' non funziona?

  2. #2
    brutta bestia la combinazione Axis - Tomcat...li ho usati per fare un piccolo web service per un esame all'uni... :master:

    Se magari ti può servire questo pezzo di codice...putroppo non mi ricordo molto che è passato un po' di tempo...

    codice:
    String method = "getWeather";
    Service service = new Service();
    Call call = (Call)service.createCall();
    call.setTargetEndpointAddress(new java.net.URL(endpoint));
    call.setOperationName(method);
    call.addParameter("in0", XMLType.XSD_STRING, ParameterMode.IN);
    call.addParameter("in1", XMLType.XSD_INTEGER, ParameterMode.IN);
    call.addParameter("in2", XMLType.XSD_INTEGER, ParameterMode.IN);
    call.setReturnType(XMLType.XSD_ANYTYPE);
    Magari ti serve importare qualche cosa...
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  3. #3
    .. ho scelto axis perche' come Tomcat e' un prodotto di Apache e soprattutto perche' e' Open Source .. ci sarebbero vie migliori?

    Da un giro in rete mi sembra una buona soluzione..

  4. #4
    Si si...lo dicevo solo perchè con tutto il lavoro che ci avevo fatto insieme ad un altro ho finito per odiarlo...eheheh!!
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  5. #5
    .. il problema è che tu gli passi un parametro alla volta .. io invece devo passargli tutto l'xml in formato InputStream, cioè in maniera totalmente staccata dalla struttura xml.. quindi non so se posso usare il metodo addParameter

  6. #6
    ah gli devi passare tutto...scusa pensavo di no...mmm... :master:

    Magari qualche import dimenticato??
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  7. #7
    .. ma aldilà di come risolvere, qualcuno puo' spiegarmi che tipo di eccezione è? Perchè viene sollevata?

  8. #8
    hai messo la parte di codice in un try catch?

    Sostanzialmente ti dice che c'è un eccezione di tipo input-output e in particolare che non trova niente per serializzare il tuo java.io.ByteArrayInputStream...più o meno dovrebbe essere questo penso!
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

  9. #9
    Si, l'eccezione e' gestita.. il blocco di codice che me la solleva risiede in un try-catch .. in queste ore ho fatto delle prove e ho capito che è proprio un problema legato all'oggetto InputStream : infatti se gli passo l'xml in una stringa e lo passo come parametro
    codice:
    String XMLDocument = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
    XMLDocument += "<Elemento>";
    XMLDocument += "<intero>2</intero>";
    XMLDocument += "<stringa>Passeggiare sotto il sole</stringa>";
    XMLDocument += "</Elemento>"; 
    
    Object rispostaWS = call.invoke(new Object[]{XMLDocument});
    l'eccezione non c'e' +.

    Come si spiega?

  10. #10
    Forse nell'altro modo prima devi usare la classe Serializable prima di fare il passaggio dell'xml...in fondo quando devi usare uno stream per salvare in un file prima devi serializzare l'oggetto da inviare magari tu avendo un file xml prima di fare lo stream devi serializzarlo...

    E' un'ipotesi che mi sono inventato sul momento non uccidetemi se è sbagliata!

    Si va per tentativi...
    Si può vincere o perdere, l'importante è vincere o perdere da uomini...

    Neverland - Il mio Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.