Java Reference
In-Depth Information
package com.apress.springenterpriserecipes.weather;
...
public class GetTemperaturesResponse {
private List<TemperatureInfo> temperatures;
// Constructors, Getters and Setters
...
}
With the object model created, you can write a marshalling endpoint by extending the
AbstractMarshallingPayloadEndpoint class. The core method defined in this class that you must
override is invokeInternal() . In this method, you can access the request object, which is unmarshalled
from the request message, as the method argument. Now all you have to do in this method is handle the
request object and return the response object. Then it will be marshalled to the response XML message.
Note To create a service endpoint using Castor, you have to copy castor-1. 2.jar (located in the
lib/castor directory of the Spring-WS installation) and xercesImpl-2.8.1.jar (located in lib/xerces ) to the
WEB-INF/lib directory.
package com.apress.springenterpriserecipes.weather;
...
import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint;
public class TemperatureMarshallingEndpoint extends
AbstractMarshallingPayloadEndpoint {
private WeatherService weatherService;
public void setWeatherService(WeatherService weatherService) {
this.weatherService = weatherService;
}
protected Object invokeInternal(Object requestObject) throws Exception {
GetTemperaturesRequest request = (GetTemperaturesRequest) requestObject;
List<TemperatureInfo> temperatures =
weatherService.getTemperatures(request.getCity(), request.getDates());
return new GetTemperaturesResponse(temperatures);
}
}
Search WWH ::




Custom Search