Galera estou estudando um pouco de Web Service e estou com algumas dúvidas que gostaria de entender.
Seguindo o link abaixo, fiz um Web Service Rest que acessa o banco e retorna alguns valores.
Web Service Restful
Gostaria de entender se uma aplicação seja qual for a linguagem consegue acessar esse web service ?
Se sim. Cada aplicação deve ter seu CLIENT desenvolvido para acessar esse WebService ?
Esta correto estes conceitos ?
Isso mesmo, qualquer linguagem que tenha um client http consegue acessar os endpoints RESTful. Se vc criar servicos REST em PHP, um cliente Java, C#, Android, Angular, conseguirão acessar eles
Seguindo com o Tópico,
fiz um Client exportei um jar e coloquei dentro de uma aplicação web para acessar este webService Rest,
porém esta dando o erro abaixo, Pode ajudar ?
> com.sun.jersey.api.client.ClientHandlerException: A message body reader for Java class br.com.client.rest.to.Dados, and Java type class br.com.client.rest.to.Dados, and MIME media type application/octet-stream was not found
> at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:630)
> at com.sun.jersey.api.client.ClientResponse.getEntity(ClientResponse.java:586)
> at br.com.client.rest.RestClient.main(RestClient.java:49)
Posta o código do seu endpoint e sua chamada tb (curl, postman, etc)
Aqui esta dentro de um método main do meu CLIENT a chamada
public static void main(String[] args) {
JSONObject object=new JSONObject();
try {
object.put("dtInicio", "20170101");
object.put("dtFim", "20200101");
String url = null;
Properties prop;
Dados dados = new Dados();
dados.setDtInicio("20200101");
dados.setDtFim("20170101");
Client client = Client.create();
prop = getProp();
url = prop.getProperty("url");
WebResource webResource = client.resource(url);
ClientResponse response = webResource.type("application/json").post(ClientResponse.class, dados);
if( response.getStatus() != 200 ){
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
dados = response.getEntity(Dados.class);
} catch (Exception e) {
e.printStackTrace();
}
}