Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Andre Rosset

Consumir WebService

Recommended Posts

Bom dia PessoALL!

 

Preciso fazer uma integração com um web service em um sistema que a empresa aqui esta desenvolvendo...

Como estou começando no C#, ainda não tenho muito as manhas de consumo de WebService...

O pessoal que disponibilizou o serviço, tem uma documentação de integração, mas está em Java... e não manjo nada de Java...

 

 

Se alguma boa alma puder da uma força, exemplo, tradução, ou qualquer coisa, ficaria muito grato! rs

Segue exemplo que peguei na documentação...

 


import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethodBase;
import org.apache.commons.httpclient.methods.PostMethod;
import org.springframework.http.HttpStatus;


private static HttpClient httpClient = new HttpClient();
public boolean loginWS() {
String result = null;
PostMethod method = new PostMethod("http://192.0.0.20:8080 :8080/SignIn ");
method.addParameter("login", "admin");
method.addParameter("password", "123456");
method.setDoAuthentication(true);
try {
httpClient.getHttpConnectionManager().getParams().setSoTimeout(7000);
httpClient.executeMethod(method);
result = (method.getStatusCode() == HttpStatus.OK.value()) ? getResonseBody(method) : null;
} catch (HttpException e) {
WSLog.ERROR("Login", "ManagerConnection[loginWS] Can not login | HttpException >> Error :" + e);
} catch (IOException e) {
WSLog.ERROR("Login", "ManagerConnection[loginWS] Can not login | IOException >> Error :" + e);
} finally {
method.releaseConnection();
}
return (result != null) ? JsonUtil.from(result, boolean.class) : false;
}
private static String getResonseBody(HttpMethodBase method) throws IOException {
StringBuilder output = new StringBuilder();
int r;
InputStream reader = method.getResponseBodyAsStream();
while ((r = reader.read()) != -1) {
output.append((char) r);
}
return output.toString();
}


public void cacheUsers(){
GetMethod getMethod = new GetMethod("http://192.0.0.20:8080/services/admin/");
String result = HttpUtils.get(getMethod);
if(result != null){
Type type = new TypeToken<Map<String, UserAdmin>>(){}.getType();
users = JsonUtil.from(result, type);
}
}

 

 

 

Muito obrigado!

Abs, André

Compartilhar este post


Link para o post
Compartilhar em outros sites

André,

Também sou novato nesse tipo de trabalho, mas se eu puder gostaria de lhe ajudar, sim.

Estou desenvolvendo aplicações para consumo de webservices e talvez passemos pelas mesmas dúvidas.

Estou desenvolvendo em C# no Visual Studio, depois pretendo aprimorar com outras linguagens.

O que você precisa fazer exatamente?

O que está usando?

 

 

Bom dia PessoALL!

 

Preciso fazer uma integração com um web service em um sistema que a empresa aqui esta desenvolvendo...

Como estou começando no C#, ainda não tenho muito as manhas de consumo de WebService...

O pessoal que disponibilizou o serviço, tem uma documentação de integração, mas está em Java... e não manjo nada de Java...

 

 

Se alguma boa alma puder da uma força, exemplo, tradução, ou qualquer coisa, ficaria muito grato! rs

Segue exemplo que peguei na documentação...

 


import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethodBase;
import org.apache.commons.httpclient.methods.PostMethod;
import org.springframework.http.HttpStatus;


private static HttpClient httpClient = new HttpClient();
public boolean loginWS() {
String result = null;
PostMethod method = new PostMethod("http://192.0.0.20:8080 :8080/SignIn ");
method.addParameter("login", "admin");
method.addParameter("password", "123456");
method.setDoAuthentication(true);
try {
httpClient.getHttpConnectionManager().getParams().setSoTimeout(7000);
httpClient.executeMethod(method);
result = (method.getStatusCode() == HttpStatus.OK.value()) ? getResonseBody(method) : null;
} catch (HttpException e) {
WSLog.ERROR("Login", "ManagerConnection[loginWS] Can not login | HttpException >> Error :" + e);
} catch (IOException e) {
WSLog.ERROR("Login", "ManagerConnection[loginWS] Can not login | IOException >> Error :" + e);
} finally {
method.releaseConnection();
}
return (result != null) ? JsonUtil.from(result, boolean.class) : false;
}
private static String getResonseBody(HttpMethodBase method) throws IOException {
StringBuilder output = new StringBuilder();
int r;
InputStream reader = method.getResponseBodyAsStream();
while ((r = reader.read()) != -1) {
output.append((char) r);
}
return output.toString();
}


public void cacheUsers(){
GetMethod getMethod = new GetMethod("http://192.0.0.20:8080/services/admin/");
String result = HttpUtils.get(getMethod);
if(result != null){
Type type = new TypeToken<Map<String, UserAdmin>>(){}.getType();
users = JsonUtil.from(result, type);
}
}

 

 

 

Muito obrigado!

Abs, André

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você quer apenas consumir esse serviço feito em JAVA, é só referenciar o endereço HTTP dele no seu projeto que você consegue consumir, não entendi qual sua dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.