Esempio di WebServices con Annotation – Client SOAPUI

Per creare un Web Services esistono vari modi.
In questo esempio useremo l’annotation @WebService. In particolare avremo un web services con due operazioni:

  • public String prova(String msg)
  • public Persona getPerson(String codFisc)

Il primo prende in input una stringa e restituisce un’altra stringa.
Il secondo in input  sempre una stringa ma restituisce un oggetto di tipo Persona.
Per invocarli useremo il tool SOAPUI.

Tools Usati

  • Eclipse Mars 2
  • Wildfly 10
  • SoapUI

Esempio Creazione e Invocazione Web Services Tramite Annotaion e SoapUI

Creazione Nuovo Dynamic Web Project

Dal menù selezionare File–>New–>Dynamic Web Project

Nel campo “Project Name” mettere il nome del progetto “ProvaWS

Creazione Web Services

Creare una nuova classe cliccando con tasto destro sul progetto e selezionando dal menù “New–>Class

Inserire i seguenti valori:

package: com

name: HelloWorld

Aggiungere nella classe il  seguente codice:

[java]

package com;package com;
import javax.jws.WebService;
@WebServicepublic class HelloWorld {

public String prova(String msg) { return “HelloWorld”; }
}

[/java]

Aggiungere il progetto al server:

tasto destro sul server. Dal menù selezionare “Add/Remove

Selezionare il progetto “ProvaWs” e cliccare su Add

Startare il server.

Se tutto è andato a buon fine, il Web Service è in ascolto nell’URL:

http://localhost:8080/ProvaWS/HelloWorld?wsdl

Digitando l’url sul browser si ottiene  il wsdl del Web Service

Invocazione tramite SoapUI

Avviare SoapUI. Dal menù selezionare “File–>New SOAP Project

Inserire i seguenti dati:

Project Name: ProvaWS

Initial WSDL: http://localhost:8080/ProvaWS/HelloWorld?wsdl

SoapUI genererà in automatico una request del nostro servizio “Prova“.

Inserire come valori in input la stringa “ciao” e cliccare sul tasto verde in alto a sinistra. Otterremo la risposta soap  sulla destra, ossia  la stringa “HelloWorld

Esempio con Oggetto in Input

Creare una nuova classe chiamata “Persona“.

Dal menù, selezionare  New–>Class

Nella classe appena creata, inserire il seguente codice:

[java]

package com;package com;
import java.io.Serializable;
public class Persona  implements Serializable{ /

private static final long serialVersionUID = 1L;

String nome; String cognome;

public String getNome() { return nome; }

public void setNome(String nome) { this.nome = nome; }

public String getCognome() { return cognome; }

public void setCognome(String cognome) { this.cognome = cognome; }
}

[/java]

Creare un nuovo metodo nel WS cosi definito:

[java]

public Persona getPerson(String codFisc){

Persona p = new Persona();

p.setCognome(“Rossi”);

p.setNome(“Mario”);

return p;

}

[/java]

Ritornare su SoapUI e  aggiornare la definizione del Web Service:

tasto destro sul blocchetto verde (HelloWorldServiceSoapBinding) e selezionare “Update Definition

Lasciare tutto invariato e premere “OK

Nella schermata apparirà il nuovo metodo “getPerson“.

Valorizzare la request con il valore 37 e cliccare sul tasto di invia.  Si otterrà la response contenente una istanza di persona con nome “Mario” e cognome “Rossi”

Download Sorgenti Intero Progetto

   

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *