Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    52

    XML generato dal Server non visto dal Client

    come da titolo ho un problema con il caricamento di una risorsa a run time...
    Lo scenario è: applicazione client-server con java,jsp e js!
    Ho implementato in Javascript la funzione autocomplete di JQuery dandogli come fonte dati un file XML.
    La questione è:
    -se inserisco l'XML in una cartella prima di far partire l'Application Server funziona tutto correttamente(yeah!)
    -se faccio generare l'XML dal Server qualche step prima(molto prima!) di quello in cui l'invoco tramite Javascript con firebug rilevo un FileNotFound e non funziona niente!

    Da notare che l'XML viene generato con XStream nella stessa cartella dell'altro(con un nome diverso!). Se vedo i permessi dei due file in termini di utenti e scrittura/lettura mi sembrano identici...
    Sapete come rendere visibile al JS il file creato?!

  2. #2
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    Dal codice sembra tutto ok ... no aspetta, ma non c'è il codice

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    52
    hai ragione!!era tutto funzionante perciò non ho messo il codice!!anyway:

    Creo l'XML:
    codice:
    XStream xs = new XStream(); 
    List<String> miaList = servizio.prendiLista(); 
    xs.alias("name", java.lang.String.class); 
    File file = new File("C:\\workspaceJ2EE\\j2ee\\Web\\WebContent\\code\\Lista.xml"); if(!file.exists()) { 
    file.createNewFile(); 
    } 
    FileOutputStream fs = new FileOutputStream(file); 
    Writer writer = new OutputStreamWriter(fs, Charset.forName("UTF-8")); 
    writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
    xs.toXML(mialist, writer);
    lo leggo dal Javascript:
    codice:
    $(function() { 
    $.ajax({ 
    url: "code/Lista.xml", 
    dataType: "xml",
    success: function( xmlResponse ) { var data = $( "name", xmlResponse ).map(function() { return { value: $( this ).text() }; }).get(); 
    $( "#Campo" ).autocomplete({ source: function(request, responseFn) { var re = $.ui.autocomplete.escapeRegex(request.term); 
    var matcher = new RegExp( "^" + re, "i" ); 
    var a = $.grep(data, function(item,index){ return matcher.test(item.value); }); 
    responseFn( a ); }, 
    change: function(event,ui) { //if (!ui.item) { $(this).val(''); } var source = $(this).val(); 
    var found = $('.ui-autocomplete li').text().search(source); 
    if(found < 0) { $(this).val(''); } }, 
    select: function(event,ui) { //$('#Campo').val(ui.item.value); 
    var source = $(this).val(); 
    var found = $('.ui-autocomplete li').text().search(source);
     if(found < 0) { $(this).val(''); } 
    else { var valore = ui.item.value; 
    var verify = ui.item.value.lastIndexOf(' ('); 
    if (verify != -1) { valore = valore.substring(0, valore.lastIndexOf(' (')); } $('#Campo').val(valore); return false; } }, 
    selectFirst: false, 
    minLength: 2 }); } }); }); }
    se il file List.xml lo metto prima di far partire l'Application Server questo viene visto senza problemi e tutto funziona...se invece il file è generato(nello stesso path) da XStream allora ricevo un FileNotFound lato Javascript...

    PS: scusate non riesco a formattare bene il codice qui sul forum...il codice JS l'ho messo qui: http://jsfiddle.net/8VBLt/

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Potrebbe essere un problema sul codice Java... sposto nella sezione Java.
    Se il problema dovesse essere lato JavaScript sposterò poi nella sezione apposita.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da Daved84
    se il file List.xml lo metto prima di far partire l'Application Server questo viene visto senza problemi e tutto funziona...se invece il file è generato(nello stesso path) da XStream allora ricevo un FileNotFound lato Javascript...

    PS: scusate non riesco a formattare bene il codice qui sul forum...il codice JS l'ho messo qui: http://jsfiddle.net/8VBLt/
    domanda molto molto molto stupida, se tu (senza usare javascript) tenti un accesso dal browser al file, questo fisicamente esiste??

    cioè mettendo

    http://tuosito/code/list.xml

    questo è trovato?
    RTFM Read That F*** Manual!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    52
    ciao!no appare la schermata:
    Error 404: File non trovato: http://tuosito/code/list.xml

    Se invece nell'indirizzo metto il path relativo all'altro XML, inserito a mano prima dell'avvio del WAS, allora viene visualizzato correttamente il contenuto...

    Possibile che non si possa creare una risorsa a runtime ed utilizzarla?!!?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    da quello che ho capito in realtà tu non crei il file...mi chiedo come mai non ti dia eccezione in fase di creazione
    RTFM Read That F*** Manual!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    52
    non dà eccezione perchè il file viene creato correttamente!!!!
    se vado nella directory c'è!!!!e contiene anche quello che deve!!!!
    Forse dipende dal fatto che il file non è stato caricato all'avvio dell' Application Server?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    scusa se il file si trova all'interno del contesto associato alla tua applicazione dovresti vederlo.
    se per esempio accedi al tuo sito con

    http://localhost/miosito

    e questo al suo interno ha creato il file all'interno del path

    miosito/code/lista.xml

    questo url
    http://localhost/miosito/code/lista.xml

    dovrebbe farti visualizzare il contenuto del file.

    Resta da vedere il tuo container come si comporta a riguardo, a quanto ho capito è WAS e a questo punto devi essere sicuro che WAS veda gli aggiornamenti del suo contesto (inteso come aggiunta di una informazione).
    RTFM Read That F*** Manual!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    52
    Una piccola novità!Ho fatto generare l'XML, e come abbiamo detto non viene visto!
    Poi:
    -ho riavviato l'application Server commentando la parte di codice che crea il file...quindi con l'intenzione di prendere quello generato prima e NON viene trovato...

    -nell'alberatura di Eclipse se clicco sulla cartella:
    C:\\workspaceJ2EE\\j2ee\\Web\\WebContent\\code\\
    e premo F5(il file compare!), poi faccio ripartire l'appServer e viene trovato!!!

    Ma allora come faccio a far fare un F% da codice?!?!?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.