我不擅长C#,但还是贴段代码,lz看看有没有用处:
服务端的:
package com.login.webservice;import java.util.List;import org.apache.commons.mvc.annotation.Webservice;
import org.apache.commons.mvc.annotation.WebserviceMethod;
import org.apache.commons.mvc.entity.Json;
import org.apache.commons.mvc.util.ToolUtil;
import org.apache.log4j.Logger;import com.login.entity.CarMember;
import com.login.model.CarMemberModel;/**
 * 用户接口
 * 
 * @author TCK-001
 * @version 1.0
 */
@Webservice(name = "carMemberWs")
public class CarMemberWs {

private static final Logger log = Logger.getLogger(CarMemberWs.class);

/**
 * 用户登录
 * @param name
 * @param pwd
 * @return
 */
@WebserviceMethod
public Json login(String name, String pwd) {
try {
CarMember member = new CarMemberModel().getByName(name);
if (null == member) {
return new Json(false, "找不到用户");
}
if (!ToolUtil.md5(ToolUtil.deUnicode(pwd)).equals(member.getPassword())) {
return new Json(false, "密码错误");
}
return new Json(true, Json.OPERATE_RIGHT_MESSAGE).addData("member", member);
} catch (Exception e) {
log.error("用户登录", e);
return new Json(false, e.getMessage());
}
}

/**
 * 所有用户
 * @return
 */
@WebserviceMethod
public List<CarMember> list() {
return new CarMemberModel().getBeans();
}}android端的:
/**
 * 登录的方法
 * @param view
 */
public void doLogin(View view) {
if (toolUtil.isBlank(txtName.getText().toString())) {
prompt(getString(R.string.userNameErr));
return;
}
if (toolUtil.isBlank(txtPwd.getText().toString())) {
prompt(getString(R.string.passwordErr));
return;
}
gress = ProgressDialog.show(this, getString(R.string.wait), getString(R.string.loadData), true);
gress.setCanceledOnTouchOutside(true);
new LoginThread().start();
}

// 提示操作
private void prompt(String msg) {
Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
}

// 登录的线程
private class LoginThread extends Thread {
public void run() {
try {
// 准备参数
Object[] param = new Object[] { txtName.getText().toString(), toolUtil.toUnicode(txtPwd.getText().toString()) };
// 准备调用Webservice的客户端
WebserviceClient client = new WebserviceClient(wsUrl, "carMemberWs", "login", param, String.class, null);
// 调用Webservice,并把返回的数据解压再解密
response = toolUtil.gunzip((String) client.execute());
} catch (Exception e) {
Log.e(Constant.TAG_NAME, "登录的线程", e);
} finally {
loginHandler.sendMessage(new Message());
}
}
}

// 登录的Handler
private Handler loginHandler = new Handler() {
public void handleMessage(Message msg) {
try {
gress.dismiss();
if (!toolUtil.isBlank(response)) {
JSONObject json = new JSONObject(response);
if (json.getBoolean("success")) {
// 得到json中的用户对象
CarMember member = beanUtil.jsonToBean(json.getJSONObject("data").getJSONObject("member"), CarMember.class);
member.setPassword(txtPwd.getText().toString());
// 把账号密码序列化保存到文件中
fileUtil.serialize(rootPath + filePath, member);
response = null;
prompt("OK");
} else {
prompt(json.getString("message"));
}
} else {
prompt(getString(R.string.fail));
}
} catch (Exception e) {
prompt(e.getMessage());
}
}
};