Aplicação Android + WCF

8 respostas
E

Pessoal,

Alguém por acaso sabe como acessar um Wcf web service via java/android? Encontrei uma library chamada OData4j, porem, nao com os exemplos que preciso, que seria passando um codigo de usuario(int) e uma senha criptograda(um array de bytes).

Podem me ajudar?

8 Respostas

J

Boa Tarde !

Android--------------------------REST ou SOAP-------------------Serviço do Seu WebService

já sabe em que e feito o WEBSERVICE ?

E

Bom, vou tentar responder sua pergunta…

Fizemos um Web Service via Visual Studio, conhecido como WCF. Sabemos que com o Android, há maneiras especificas de se fazer isso. Pesquisamos e encontramos um framework chamado “OData”, porém, achamos muito poucos exemplos para seguirmos.

Já fez algo assim antes?

J

Boa tarde Herick

Terminei o SOAP, agora estou fazendo o REST… ta dando este erro !

E

Cara, me desculpe, mas o que tentou fazer?

E

Bom dia,

Dei uma boa vasculhada e achei um tutorial bem interessante, utilizando REST, eis o que fiz até agora:

public void run() {
		// TODO Auto-generated method stub

                //Minha thread que faz o login

		loginActivity.getHandler().post(new Runnable(){

			public void run() {
				// TODO Auto-generated method stub
				//try {
														
					editLoginUser = loginActivity.getEditLoginUser();
					editLoginPassword = loginActivity.getEditLoginPassword();
					
					LoginResponse loginResponse = new LoginResponse();
					try {
						Login(Integer.parseInt(editLoginUser.getText().toString()), encript(editLoginPassword.getText().toString()));
					} catch (NumberFormatException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (EncryptorException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
								
			}
									
		});								
		
	}

Aqui, o metodo que faz o login:

public LoginResponse Login(int username, byte[] password)
	{
		SetLoginParameters(username, password);
		
		HttpClient httpclient = new DefaultHttpClient();
		HttpGet httpget = new HttpGet(serviceAddress + loginParameters);
		
		HttpResponse response;
		
		LoginResponse loginResponse = null;
		
		try
		{
			response = httpclient.execute(httpget);
			
			HttpEntity entity = response.getEntity();
			
			if(entity != null)
			{
				InputStream instream = entity.getContent();
				String result = convertStreamToString(instream);
				JSONObject json = new JSONObject(result);

				// Parsing
				JSONArray nameArray = json.names();
				JSONArray valArray = json.toJSONArray(nameArray);
				
				loginResponse = new LoginResponse(valArray.getBoolean(1), valArray.getString(0), valArray.getString(2));


				instream.close();
			}
			
		}
		catch(Exception e)
		{
			loginResponse = new LoginResponse();
			String sDummy = e.toString();
		}
		return loginResponse;
	}

Mas mesmo assim, falta algo, o login não esta sendo concluído...acredito que seja a password, pois a mesma é encriptada e também é um array de bytes. Alguém tem alguma luz?

R

Quando precisei consumir um Web Service .Net segui esse tutorial, Mas no caso é SOAP…

Usei a biblioteca KSOAP

Flw

E

Isso serviria para WCF?

O que pesquisei também é que há um modo de automaticamente, o eclipse “incorporar” os métodos do WebService e criar uma classe própria, alguém conhece?

R

Esse tutorial te explica exatamente como consumir um WS em WCF do tipo SOAP

vc precisa apenas da biblioteca KSOAP.

Nunca usei o eclipse para incorporar os métodos, mas a respeito de consumir o WS com esse tutorial é certeza q funciona.

Abraços

Criado 14 de setembro de 2012
Ultima resposta 17 de set. de 2012
Respostas 8
Participantes 3