Service端:
[WebService(Namespace = "http://localhost/WebService.asmx")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)] [WebMethod]
public String ValidateUsername(String username, String pass)
{
try
{
String name = username;
String pwd = pass;
DataSet sqlDs = new DataSet();
DataAccess dataAcc = new DataAccess(mfConn);
string mfSql = "select * from Admin";
sqlDs = dataAcc.GetDataset(mfSql, "Admin");
String flag = "";
foreach (DataTable dt in sqlDs.Tables)
{ int i;
for (i = 0; i < dt.Rows.Count; i++)
{
if (name == dt.Rows[i].ItemArray[1].ToString() && pwd == dt.Rows[i].ItemArray[2].ToString())
{ flag = "true"; break; }
}
if (i == dt.Rows.Count)
{ flag = "false"; } }
return flag;
}
catch (Exception ee)
{ return ee.ToString();
}
}
Android 客户端:private static final String NAMESPACE = "http://10.0.2.2:21368/WebService.asmx"; private static final String URL="http://10.0.2.2:21368/WebService.asmx";
private static final String METHOD_NAME = "ValidateUsername";
private static final String SOAP_ACTION = "http://localhost/WebService.asmx/ValidateUsername";
SoapObject soapObject = new SoapObject(NAMESPACE, METHOD_NAME);
soapObject.addProperty("username","admin");
soapObject.addProperty("pass","123");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
androidHttpTransport.debug = true; androidHttpTransport.call(SOAP_ACTION, envelope); Object object =envelope.getResponse();
System.out.println("RE "+object.toString() );
可是客户端显示的是false,然后我将服务器的参数保存在文件上,显示为空,不知道是什么原因!
[WebService(Namespace = "http://localhost/WebService.asmx")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)] [WebMethod]
public String ValidateUsername(String username, String pass)
{
try
{
String name = username;
String pwd = pass;
DataSet sqlDs = new DataSet();
DataAccess dataAcc = new DataAccess(mfConn);
string mfSql = "select * from Admin";
sqlDs = dataAcc.GetDataset(mfSql, "Admin");
String flag = "";
foreach (DataTable dt in sqlDs.Tables)
{ int i;
for (i = 0; i < dt.Rows.Count; i++)
{
if (name == dt.Rows[i].ItemArray[1].ToString() && pwd == dt.Rows[i].ItemArray[2].ToString())
{ flag = "true"; break; }
}
if (i == dt.Rows.Count)
{ flag = "false"; } }
return flag;
}
catch (Exception ee)
{ return ee.ToString();
}
}
Android 客户端:private static final String NAMESPACE = "http://10.0.2.2:21368/WebService.asmx"; private static final String URL="http://10.0.2.2:21368/WebService.asmx";
private static final String METHOD_NAME = "ValidateUsername";
private static final String SOAP_ACTION = "http://localhost/WebService.asmx/ValidateUsername";
SoapObject soapObject = new SoapObject(NAMESPACE, METHOD_NAME);
soapObject.addProperty("username","admin");
soapObject.addProperty("pass","123");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
envelope.setOutputSoapObject(soapObject);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
androidHttpTransport.debug = true; androidHttpTransport.call(SOAP_ACTION, envelope); Object object =envelope.getResponse();
System.out.println("RE "+object.toString() );
可是客户端显示的是false,然后我将服务器的参数保存在文件上,显示为空,不知道是什么原因!
解决方案 »
- 请牛人帮忙解决一个android模拟点击的程序
- 如何编译生成指定模块的so库文件
- 问一个关于ContentProvider的问题
- 手机连上电脑了但是file explorer视图中不显示手机的sdcard内容??跪求答案啊!
- 不能启动另一应用的activity,求助
- import一个包的问题?
- android 手势滑动怎么拦截
- ListView 刷新选中项混乱的问题
- 求救解决 dlopen failed: "/data/data/com.xxx.xxx.xx/files/libs/libBaiduMapSDK_ba
- android 使用itext1生产pdf文件无法下载
- android 编译frameworks/base/中的模块
- 代码里面怎么获得button引用的资源ID
二:envelope.bodyOut = soapObject;这句话不要
你再试试
throws Exception {
String resultString = "";
SoapObject request = new SoapObject("http://tempuri.org/",
"ValidateUsername");
request.addProperty("uname", userName);
request.addProperty("upwd", userPassword); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = true; envelope.setOutputSoapObject(request); MyAndroidHttpTransport ht = new MyAndroidHttpTransport(
"http://10.0.2.2:21368/WebService.asmx", 5000);
ht.call("http://tempuri.org/ValidateUsername",
envelope); if (envelope.getResponse() != null) {
SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
resultString = response.toString();
}
return resultString;
}
envelope.dotNet = false;即可
soapObject.addProperty("pass","123");
参数应改为"arg0"和"arg1"