Я работаю на веб-услуг и отдыха клиента с помощью CXF 3.1.2, и у меня есть несколько разъяснений, как показано ниже,Использование client.reset в клиенте CXF Rest
Услуги:
import javax.jws.WebService;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
public class GenServiceImpl {
@GET
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.TEXT_PLAIN)
@Path("/agentLogin/{ext}")
public String agentLogin(@PathParam("ext") Integer ext) {
return "EventAgentLoggedIn";
}
@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes({"application/xml", MediaType.TEXT_PLAIN})
@Path("/agentLogout")
public String agentLogout(String ext) {
return "EventAgentLoggedOut";
}
}
Клиент:
import javax.ws.rs.core.Response;
import org.apache.cxf.jaxrs.client.WebClient;
public class TestClient {
static final String REST_URI = "http://localhost:8080/RestfulSample/Restful";
public static void main(String[] args) {
WebClient client = WebClient.create(REST_URI);
//Get
client.path("agentLogin").path(new Integer(1234)).accept(MediaType.TEXT_PLAIN);
String agentLoginResponse = client.get(String.class);
System.out.println(agentLoginResponse);
client.reset();
//Post
client.path("agentLogout").accept(MediaType.TEXT_PLAIN);
Response agentLogoutResponse = client.post("10245");
System.out.println(agentLogoutResponse.readEntity(String.class));
client.reset();
}
Разъяснения:
В моем примере выше - в методе почтового сервиса класса (agentLogout), я получаю ошибку, если я заменяю
@Consumes({"application/xml", MediaType.TEXT_PLAIN})
с@Consumes(MediaType.TEXT_PLAIN)
, тогда как он отлично работает в методе Get (agentLogin), могу я знать, почему это так?Это право использовать
client.reset();
- Здесь я пытаюсь использовать один WebClient для доступа ко всем моим методам.Не могли бы вы сообщить мне, что я попробовал в моем примере, это лучшая практика? и это будет понятно, если бы вы могли исправить меня здесь
Спасибо,
Вы используете пружину на стороне клиента? –
Нет, я не использую пружину на стороне клиента. – sasikals26