Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    41

    Sviluppare Web Seervice con Eclipse

    Ciao a tutti, sto iniziando a sviluppare un web service e volevo farlo dentro Eclipse.
    Ho trovato questa guida. Il processo di creazione del Web Service va a buon fine, cioè non ricevo nessun errore nè da parte di Tomcat nè di Axis. Inoltre il servizio è correttamente pubblicato dentro Tomcat.
    Nella guida vengono generate 6 classi:

    - 2 per SOAP 1.1 (si chiamano ConverterConverterHttpportCallbakHandler e ConverterConverteHttpportStub)

    - 2 per SOAP 1.2 (ConverterConverterSoap11Port_httpCallbakHandler e ConverterConverterSoap11Port_httpStub)

    - 2 per HTTP (ConverterConverterSoap12Port_httpCallbakHandler e ConverterConverterSoap12Port_httpStub)

    Per ogni protocollo 1 classe è lo Stub e l'altra l'Handler.
    A me invece ne genera solo 2:
    ConvertCallbackHandler e ConverterStub.

    Di conseguenza non posso lanciare il main proposto nella guida perchè mi mancano le classi.
    La domanda è: sapete come posso risolvere la cosa?
    In alternativa vi chiedo di spiegarmi come si fa a creare un web service e lanciarlo poi tramite java.
    Grazie a tutti in anticipo.

    PS: non voglio sembrare prepotente ma la cosa è abbastanza urgente!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    41
    Mi rispondo da solo, magari serve a qualcun altro.
    Credo che ci sia stato un aggiornamento al WTP che adesso crea solo le 2 classi di cui parlavo prima.
    Per far funzionare il client basta modificarlo così:

    codice:
    package wtp;
    
    import java.rmi.RemoteException;
    import org.apache.axis2.AxisFault;
    import wtp.ConverterStub.CelsiusToFarenheit;
    import wtp.ConverterStub.CelsiusToFarenheitResponse;
    
    public class ConverterClient {
       public static void main(String[] args) {
           try {
                   float celsiusValue = 100;
                   ConverterStub stub = new ConverterStub();
                   CelsiusToFarenheit c2f = new CelsiusToFarenheit();
                   c2f.setCelsius(celsiusValue);
                   CelsiusToFarenheitResponse res = stub.celsiusToFarenheit(c2f);
                   System.out.println("Celsius : "+celsiusValue+" = "+"Farenheit : "+res.get_return());
            } catch (AxisFault e) {
                   e.printStackTrace();
            } catch (RemoteException e) {
                   e.printStackTrace();
            }
       }
    }
    In pratica le classi relative alle porte SOAP 1.1, SOAP 1.2 e HTPP sono state compattate in una sola.

    @mod
    Credo che il topic si possa chiudere.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Ti rispondi da solo per diversi motivi, te ne riporto solo alcuni.
    Il web service, di suo, non è difficile da creare. Oltretutto le annotation hanno semplificato la vita (e parecchio). In passato avevi da dichiarare una interfaccia, poi implementarla e compilare dei file xml con determinate caratteristiche. Ora ti bastano delle annotation che vengono direttamente interpretate dal container.
    Tralasciando il fatto che stai usando eclipse (cosa che non farei perché non ho il pieno controllo di tutto e non capisco quello che faccio) a te serve qualcuno che consumi il servizio, tanto che hai preso lo stub generato da axis e lo hai utilizzato per fare i tuoi conti.
    Ci sono diversi modi per poter usare un web service, uno è compilare a manina lo stub, importarlo ed utilizzarlo. Altri richiedono una certa dinamicità, la conoscenza dell'interfaccia su cui lavori, ma soprattutto che tu abbia chiari concetti e che sappia fare numerose operazioni SENZA eclipse (cosa che mi pare falsa).
    La tua difficoltà consiste nell'avere un result diverso da quello proposto dalla guida, senza considerare che quello dipende da diversi prodotti che usi per generare l'output (guarda le versioni delle librerie e considera che è una guida del 2007 e siamo nel 2011). Se ti confondi per questo, dubito che poche indicazioni su un forum ti aiutano.
    Infine i web service nella pratica, così come sono stati concepiti, vengono poco usati visto il carico che si portano dietro (prova a vedere quanta roba viaggia per un semplice hello world), ragion per cui non sono in molti a saperli usare attivamente.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    41
    Esatto hai ragione. Il problema era proprio che la guida era un pò attempata.
    Ad ogni modo, ora ho capito come faccio a richiamare il web service mediante stub.
    In effetti io utilizzo Eclipse per il motivo che hai detto tu, e cioè che mi nasconde parecchie cose. Siccome però questo web service lo sto sviluppando per motivi didattici Eclipse mi basta e mi avanza.
    Non fraintendermi, non voglio dire che non mi interessa sapere come funziona il tutto. Semplicemente per motivi di semplicità posso, voglio (e devo) trascurare alcune cose, tra cui una visione di basso livello.
    Grazie comunque.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da rama1987
    Non fraintendermi, non voglio dire che non mi interessa sapere come funziona il tutto. Semplicemente per motivi di semplicità posso, voglio (e devo) trascurare alcune cose, tra cui una visione di basso livello.
    Grazie comunque.
    Sono fatti tuoi come studi le cose, non voglio entrare nel merito, ma ne passa tra il saper usare un web service e aver capito cosa c'è dietro e fare 4 clic al computer su eclipse.
    Qui non si fa niente a basso livello, se tu per basso livello intendi avere chiaro che alla pressione di un tasto eclipse chiama al posto tuo wsimport con il wsdl specificato si vede che non hai mai realmente programmato. Oltretutto mi auguro che non abbia mai un errore, perché a quel punto non sapresti nemmeno da dove partire per comprendere quello che succede. Non dico che bisogna complicarsi la vita inutilmente, ma non so fino a che punto hai chiaro l'argomento "web service" vista anche l'altra domanda che hai posto.

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.