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

    Consiglio su WebService

    Ciao raggazzi,
    ho bisogno di un consiglio,
    devo realizzare un'applicazione in java che deve scambiare messaggi tramite WSDL-SOAP, non devo implementare grafica o interfacce web, ma alimentare sistemi esterni con messaggi SOAP.

    Che tecnologie mi consigliate di usare?
    Axis, cfx, ....???

    Grazie ciao
    /*no comment*/

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Per quanto riguarda il web service molto dipende da dove vai a deployare la tua applicazione e/o come crei il tutto.
    Ora un conto sono se le prove locali, un conto è se devi integrare questa roba in produzione. Nel secondo caso informati prima sul tipo di application server (ti impone quello che puoi usare o no).
    Mi spiego,un web service che fa riferimento ad axis non è deployabile su was (ci sto lavorando).

    Preferibile in questo caso jax-rpc e deploy su jboss (che è la scelta che ho fatto io).

    Riguardo al resto: devi fare conto che il servizio lo puoi creare come ti pare (e se usi le annotations fai pure prima), il client in genere lo crei con il comando fornito dal sistema partendo dal wsdl del server e non è detto che devi usare un'interfaccia web (o grafica).
    Esiste anche la possibilità di ritrovare e creare dinamicamente un web service ed eseguire (si parla in questo caso di web service dinamico)

  3. #3
    Originariamente inviato da valia
    Per quanto riguarda il web service molto dipende da dove vai a deployare la tua applicazione e/o come crei il tutto.
    Ora un conto sono se le prove locali, un conto è se devi integrare questa roba in produzione. Nel secondo caso informati prima sul tipo di application server (ti impone quello che puoi usare o no).
    Mi spiego,un web service che fa riferimento ad axis non è deployabile su was (ci sto lavorando).
    Il sistema dove metterò l'applicazione è un server dedicato linux con TOMCAT, non devo fare integrazioni ma devo partire da 0.


    Originariamente inviato da valia
    Preferibile in questo caso jax-rpc e deploy su jboss (che è la scelta che ho fatto io).
    jax-rpc, mi sembra che non utilizza SOAP!!
    Sono obbligato a fornire il servizio tramite WSDL con messaggi SOAP.


    Originariamente inviato da valia
    Riguardo al resto: devi fare conto che il servizio lo puoi creare come ti pare (e se usi le annotations fai pure prima), il client in genere lo crei con il comando fornito dal sistema partendo dal wsdl del server e non è detto che devi usare un'interfaccia web (o grafica).
    Devo solo dare la disponibilità di questi servizi per eseguire delle opearazioni e letture su DB.


    Originariamente inviato da valia
    Esiste anche la possibilità di ritrovare e creare dinamicamente un web service ed eseguire (si parla in questo caso di web service dinamico)
    Questa parte mi interessa molto, è possibile approfondirla?

    Grazie delle spiegazioni
    /*no comment*/

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    http://www.ibm.com/developerworks/xm...y/x-tipjaxrpc/
    http://www.oracle.com/technology/sam...ent/index.html

    non farmi impazzire che lo sto usando.

    Il servizio è reso disponibile dal WSDL.In teoria basta quello per poter consumare un web service.
    Esistono 2 tipi di client
    1. statico, hai il wsdl e in base a quello crei un client. Quindi ogni modifica del wsdl richiede la generazione del client (per vedere la modifica)
    2. dinamico, vedi come pseudo-reflection (dove il pseudo indica che non è reflection, ma il procedimento è del tutto simile).

    Ci sono delle librerie che ti consentono, noto il wsdl, di ricavare i servizi offerti dal web service che espone il wsdl e di richiamarli tramite una invoke.

    es (fatto da me :-) )
    questi sono i miei import
    codice:
    import java.net.URL;
    import java.util.Iterator;
    
    import javax.xml.namespace.QName;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceFactory;
    codice:
    	QName serviceName = new QName(uriQName, nomeServizio);
    	URL wsdlLocation = new URL("quello_che_ti_pare/Hello?wsdl");
    	// Service
    	ServiceFactory factory = ServiceFactory.newInstance();
    	Service service = factory.createService(wsdlLocation, serviceName);
    
    	HelloInterface inter = (HelloInterface)service.getPort(new QName(uriQName, nomePort), HelloInterface.class);
    dove HelloInterface è una mia interfaccia del web service.
    Questo è un po statico (suppone che tu conosca l'interfaccia del servizio at compile time), ma se l'ultima istruzione la sostituisci con

    codice:
    Call chiamata = service.createCall(new QName(uriQName, nomePort), nomeMetodo);
    returntype value = (returntype) chiamata.invoke(parametri) ;
    nel secondo caso tu puoi avere un'idea che ci sia un metodo che fa ad esempio la login e puoi, tramite opportuni metodi, cercare qualcosa che soddisfi le tue esigenze.
    In questo caso aggiungi logica al programma (quella di discovery), ma hai il vantaggio della dinamicità totale.

    Una qualsiasi googlata con "dynamic web service client" ti porta a risultati simili

  5. #5
    Invece se voglio creare il server WSDL?
    ho visto qualcosa in AXIS dove una classe è un WSDL, i metodi sono i servizi, i parametri del metodo sono i parametri di ingresso della chiamata e il risultato e il valore di ritorno del metodo.

    Su lato server che mi consigli?

    Grazie ancora per la gentilezza.
    /*no comment*/

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    o usi il comando

    wsgen

    oppure, ed è la soluzione scelta da me, il wsdl te lo fai creare in automatico da tool. io ad esempio uso eclipse+jboss, creo una web application in cui il container è appunto jboss, chiedo il deploy della mia applicazione, se ho creato un web service con annotation, il container lo crea in automatico...in soldoni, scegli lo strumento e poi o hai strumenti a riga di comando o i comandi te li chiama l'ide o il container a te non cambia niente

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.