Springws 简明教程
Spring WS - Writing Client
在本章中,我们将学习如何使用 Spring WS 为 Spring WS - Writing Server 中创建的 Web 应用程序服务器创建客户端。
Step |
Description |
1 |
按照 Spring WS – 编写服务器章节所述更新包 com.tutorialspoint 下的 countryService 项目。 |
2 |
按照以下步骤所述,在包 com.tutorialspoint.client 下创建 CountryServiceClient.java 并创建包 com.tutorialspoint 下的 MainApp.java。 |
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());
}
}
Test Web Service Client
右键单击 Eclipse 中应用程序中的 MainApp.java 并使用 run as Java Application 命令。如果应用程序一切正常,它将打印以下消息。
Country : United States
Capital : Washington
Population : 46704314
Currency : USD
在这里,我们已经为基于 SOAP 的 Web 服务创建了一个客户端– CountryServiceClient.java 。MainApp 使用 CountryServiceClient 对 Web 服务进行访问,发出 post 请求并获取数据。