Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Web Service su TomCat 6

    Ciao a tutti!
    Spero di trovare qui una risposta perché non so più dove andare a cercare...cmq...

    Ho sviluppato delle pagine jsp , con framework JSF, su NetBeans che accedono a dei webservice.
    Riesco a includere il web service correttamente ma quando lancio la pagina mi da subito errore. Premetto che se la stessa pagina la faccio girare su glassfish non c'è nessun problema. Il web service viene chiamato e gestito senza nessun problema.
    Purtroppo siamo vincolati a utilizzare tomcat ma non c'è verso...quando includo il web service la pagina esplode....senza web service la pagina funziona.
    Evidentemente si tratta di un problema di tomcat immagino.....

    L'errore che compare nel log di tomcat all'avvio della pagina (solo quando inserisco il reference al Web Service) è
    codice:
    VVERTENZA: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@893918) threw exception
    javax.faces.FacesException: javax.faces.FacesException: javax.naming.NameNotFoundException: Name ls_main.stampaDipendenti is not bound in this Context

  2. #2
    Ad occhio, dall'errore, direi che e' perche' su Tomcat (essendo un web server, non un application server) non hai deploayati alcuni servizi (da qui l'eccezione NameNotFoundException).

    D'altra parte vista la complessita' dell'argomento sarebbero necessari tutti i dettagli (come e' realizzato il web service, dove risiede, come lo chiami, ...).
    Saluti,
    Pasquale Congiustì.

  3. #3
    Hai ragione ho omesso alcuni particolari.
    I web service espongono il classico wsdl. Riesco a includerli nel progetto senza problemi.
    Il wsdl è raggiungibile....ho provato a scrivere l'indirizzo sul browser e compare il descrittore...
    I WS risiedono su un nostro server all'interno della rete intranet.

    Per chiamarlo faccio così:
    codice:
    alla creazione del Web Service Client mi crea la classe del web service che importa automaticamente nella pagina
    
    import servizio.applic.wrapped.services.ws_stdip.WSSTDIPService;
    
    
    
    Dichiarazione all'inizio della pagina:
    @WebServiceRef(wsdlLocation = "http://nome_server:8080/services/ws_stdipdlw.wsdl")
    private WSSTDIPService service;
    
    
    
    sull'evento click di un pulsante chiamo il WS
    
    try { // Call Web Service Operation
                servizio.applic.wrapped.services.ws_stdip.WSSTDIPPortType port = service.getWSSTDIP();
                // TODO initialize WS operation arguments here
                java.lang.String globali = "";
                java.lang.String listai = "";
                javax.xml.ws.Holder<java.math.BigDecimal> status = new javax.xml.ws.Holder<java.math.BigDecimal>();
                javax.xml.ws.Holder<java.lang.String> desSTATUS = new javax.xml.ws.Holder<java.lang.String>();
                javax.xml.ws.Holder<java.lang.String> listao = new javax.xml.ws.Holder<java.lang.String>();
                // TODO process result here
                int result = port.exec(globali, listai, status, desSTATUS, listao);
                System.out.println("Result = "+result);
            } catch (Exception ex) {
                // TODO handle custom exceptions here
            }

  4. #4
    Risolto...finalmente!!

    ho eliminato l'annotazione "@WebServiceRef(wsdlLocation .......... "

    e prima della chiamata WSSTDIPPortType port = service.getWSSTDIP();
    ho creato l'istanza dell'oggetto con service = new WSSTDIP();

    inoltre nella cartella di tomcat ho creato una cartella chiamata endorsed con dentro le librerie di jax-ws (prelevate dalla cartella di netbeans "NetBeans 6.0.1\java1\modules\ext\jaxws21\api")

    grazie cmq dell'attenzione

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.