Spring WS - klient piszący
W tym rozdziale dowiemy się, jak stworzyć klienta dla serwera aplikacji WWW utworzonego w Spring WS - Writing Server przy użyciu Spring WS.
Krok | Opis |
---|---|
1 | Zaktualizuj projekt countryService w pakiecie com.tutorialspoint, jak wyjaśniono w rozdziale Spring WS - Writing Server. |
2 | Utwórz CountryServiceClient.java w pakiecie com.tutorialspoint.client i MainApp.java w pakiecie com.tutorialspoint, jak wyjaśniono w poniższych krokach. |
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());
}
}
Uruchom usługę sieci Web
Uruchom serwer Tomcat i upewnij się, że możemy uzyskać dostęp do innych stron internetowych z folderu webapps przy użyciu standardowej przeglądarki.
Przetestuj klienta usługi sieci Web
Kliknij prawym przyciskiem myszy plik MainApp.java w swojej aplikacji pod Eclipse i użyj run as Java ApplicationKomenda. Jeśli wszystko jest w porządku z aplikacją, wydrukuje następujący komunikat.
Country : United States
Capital : Washington
Population : 46704314
Currency : USD
Tutaj stworzyliśmy Klienta - CountryServiceClient.javadla usługi sieciowej opartej na SOAP. MainApp używa CountryServiceClient, aby wykonać trafienie do usługi internetowej, wysyła żądanie postu i pobiera dane.