Spring WS - Scrittura client
In questo capitolo impareremo come creare un client per il server di applicazioni Web creato in Spring WS - Server di scrittura utilizzando Spring WS.
Passo | Descrizione |
---|---|
1 | Aggiornare il progetto countryService nel pacchetto com.tutorialspoint come spiegato nel capitolo Spring WS - Server di scrittura. |
2 | Creare CountryServiceClient.java nel pacchetto com.tutorialspoint.client e MainApp.java nel pacchetto com.tutorialspoint come spiegato nei passaggi seguenti. |
CountryServiceClient.java
package com.tutorialspoint.client;
import org.springframework.ws.client.core.support.WebServiceGatewaySupport;
import com.tutorialspoint.GetCountryRequest;
import com.tutorialspoint.GetCountryResponse;
public class CountryServiceClient extends WebServiceGatewaySupport {
public GetCountryResponse getCountryDetails(String country){
String uri = "http://localhost:8080/countryService/";
GetCountryRequest request = new GetCountryRequest();
request.setName(country);
GetCountryResponse response =(GetCountryResponse) getWebServiceTemplate()
.marshalSendAndReceive(uri, request);
return response;
}
}
MainApp.java
package com.tutorialspoint;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import com.tutorialspoint.client.CountryServiceClient;
public class MainApp {
public static void main(String[] args) {
CountryServiceClient client = new CountryServiceClient();
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setContextPath("com.tutorialspoint");
client.setMarshaller(marshaller);
client.setUnmarshaller(marshaller);
GetCountryResponse response = client.getCountryDetails("United States");
System.out.println("Country : " + response.getCountry().getName());
System.out.println("Capital : " + response.getCountry().getCapital());
System.out.println("Population : " + response.getCountry().getPopulation());
System.out.println("Currency : " + response.getCountry().getCurrency());
}
}
Avvia il servizio Web
Avvia il server Tomcat e assicurati di poter accedere ad altre pagine web dalla cartella webapps utilizzando un browser standard.
Test del client del servizio Web
Fare clic con il pulsante destro del mouse su MainApp.java nella propria applicazione in Eclipse e utilizzare run as Java Applicationcomando. Se tutto va bene con l'applicazione, stamperà il seguente messaggio.
Country : United States
Capital : Washington
Population : 46704314
Currency : USD
Qui abbiamo creato un cliente - CountryServiceClient.javaper il servizio web basato su SOAP. MainApp utilizza CountryServiceClient per fare un hit al servizio web, effettua una richiesta di post e ottiene i dati.