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

    [Jws] E' possibile utilizzare più classi?

    Salve, sono un novellino di Java e di JWS in particolare... mi chiedevo se fosse possibile utilizzare all'interno di un webservice un'altra classe.... quando ci provo ricevo una simpatica eccezione

  2. #2
    non sono un esperto nel settore ma credo che con jws dovresti poter referenziare un servizio con una classe alla volta. ad ogni modo io utilizzo Apache Tuscany per esporre il wsdl di un web service. è un pò ostico ma riesco comunque a comporre un servizio con più classi.

  3. #3
    hum.. io ho provato a mettere due classi nel file Jws e da quella che è il vero e proprio webservice istanziare la seconda quando mi serve.. ma niente...

    ho provato a mettere le due in file separati, niente...

    temo non sia proprio possibile...

    biooh, avevo fatto un programma da riga di comando che poi mi serviva integrare nel webservice.. pensavo fosse una cosa banale ma a quetso punto o faccio un exec del programma stand alone, oppure butto tutto in una classe

  4. #4
    nessuno sa darmi conferma del fatto che non ci sia modo per riciclare una seconda classe in qualche modo?

    Tutto in una classe è davvero una zozzeria

  5. #5
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Originariamente inviato da }gu|do[z]{®©
    nessuno sa darmi conferma del fatto che non ci sia modo per riciclare una seconda classe in qualche modo?

    Tutto in una classe è davvero una zozzeria
    Scusa la mia ignoranza di comprendonio....ma non ho capito....
    Allora tu hai creato una classe tempo fa che faceva delle belle cose...
    Ora hai creato un webservice e vorresti che questa classe venisse chiamata dal webservice che hai creato....ma questo non ti accade???
    Giusto?

    Beh...se è così è la prima volta che succede, dato che sinceramente lo faccio da una vita...
    Se non è così aiutami a capirti per aiutarti...

    Del codice dove viene chiamata la classe sarebbe utile...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  6. #6
    Originariamente inviato da @DI3GO@
    Beh...se è così è la prima volta che succede, dato che sinceramente lo faccio da una vita...
    Se non è così aiutami a capirti per aiutarti...
    sì... ho messo due classi in un file.... una è una classe che mi estende una classe webservice che mi hanno dato, l'altra è la mia classe accessoria invocata dalla prima

    al momento della creazione di un oggetto del tipo della seconda classe, viene fuori un'eccezione

    scusa se sono vago, ma ora non ho nulla a portata di mano

    mi dici se tu normalmente metti le classi accessorie nel file jws stesso? se così evidentemente l'eccezione non è dovuta a quello...

  7. #7
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Posta l'eccezione.
    Almeno possiamo vedere di che si tratta, e poi, se non era possibile ti avrebbe dato un errore in compilazione, dato che per le classi l'unica eccezzione di caricamento in Runtime è quando avviene una riflessione ( praticamente uso di operazioni come Class.forName(...) ecc... )
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  8. #8
    Allora...
    l'eccezione è questa: java.lang.reflect.InvocationTargetException

    Però va detto che questa eccezione mi viene fuori lato php (client) quando invoco la sopacall

    Codice PHP:
    $customer = new SoapClient($wsdl);
                    if (!
    is_array($temp =  $customer->__soapCall($method$params))) 
    //etc etc 
    in ogni caso non sembra un problema lato php, perchè se allo stesso metodo java che invoco con la soapCall levo la creazione di un nuovo oggetto dell'altra mia classe e gli faccio restituire un dato fittizio, tutto va bene...

    cioè se invoco

    metodoScemo(String boh)
    {
    return boh;
    }

    non ho nessun problema

    se lo stesso metodo lo faccio diventare
    metodoScemo(String boh)
    {
    ClasseScema cs = new ClasseScema(boh);
    return boh;
    }

    ho quell'eccezione lì

    Non ci sono errori nella seconda classe, perchè la usavo prima da un main (che è diventato il mio webservice) e funzionava tutto bene senza eccezioni di sorta

    boh!

  9. #9
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Ma scusa....la classe è pubblic? Appartiene allo stesso package?
    Mettilo in un blocco try{}catch e all'eccezione richiedi il getCause();
    Il problema è un errore di chiamata....in compilazione riconosce, ma non c'è modo di fargli caricare la classe....a sto punto potrei dirti di provare anche con la riflessione ( cosa che accade indirettamente ) con la classe Class.

    Non mi viene in mente altro...Cmq un ws ripeto che può tranquillamente implementare altre classi.
    Prova a postare ( se non di dimensioni eccessive ) il chiamante ( ws ) e la chiamata ( seconda classe ) in modo da poter analizzare se c'è qualcosa.
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  10. #10
    allora...

    ho fatto una prova ridotta all'osso

    ho un file Prova.jws che contiene 2 classi:

    codice:
    public class Prova extends WebService 
    {
    
    	public String test(String p)
    	{
    		ClasseScema cs = new ClasseScema("x");
    		return p;
    	}	
    
    }
    
    class ClasseScema
    {
    	String boh = null;
    	
    	public ClasseScema(String uri)
    	{
    		boh = uri;  
    	}
    }
    adesso, se commento la riga ClasseScema cs = new ClasseScema("x");
    il metodo test restituisce quello che gli passo come parametro

    ma con quella riga mi da un'eccezione

    SoapFault Object ( [messagerotected] => java.lang.reflect.InvocationTargetException [stringrivate] => [coderotected] => 0 [filerotected] => prova.php [linerotected] => 9 [tracerivate] => Array ( [0] => Array ( [file] => prova.php [line] => 9 [function] => __soapCall [class] => SoapClient [type] => -> [args] => Array ( [0] => test [1] => Array ( [0] => ciao ) ) ) [1] => Array ( [file] => prova.php [line] => 26 [function] => useWS [args] => Array ( [0] => http://localhost:8080/axis/Prova.jws?wsdl [1] => test [2] => Array ( [0] => ciao ) ) ) ) [faultstring] => java.lang.reflect.InvocationTargetException [faultcode] => soapenv:Server.userException [detail] => stdClass Object ( [hostname] => localhost ) )

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.