我正在尝试将Android
应用程序连接到最初设计的 Web 服务iOS
,但我不确定这是否可行。我也没有设计这个 Web 服务,所以我正在查看这个不是我的代码,只是在摸索。当前的 Web 服务是用PHP
和编写SOAP
的WSDL
。如果我可以连接到这个网络服务,我会尝试使用ksoap2
,除非我找到更好的选择。我将在这篇文章中使用很多链接,因为没有它们,您将看到大量令人讨厌的代码。
所以无论如何,简而言之就是这个问题。我有这个 Web 服务 url 的
URL 列表
的列表,从该列表的外观来看,我需要向iphoneview/iphone_get_details.php发出我的登录请求,它里面有这个。
get_details
但是当我使用此代码时
class LogMeIn extends AsyncTask<String, Void, String> {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(
"http://www.fakesite.com/myv2/iphoneview/iphone_get_details.php");
protected String doInBackground(String... urls) {
try {
username = un.getText().toString();
password = pw.getText().toString();
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
2);
nameValuePairs
.add(new BasicNameValuePair("username", username));
nameValuePairs
.add(new BasicNameValuePair("password", password));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
String res = inputStream(response.getEntity().getContent())
.toString();
Log.v("RESPONSE", res);
// if username and password are valid, launch main activity
if (res.toString() == "1") {
Intent logIn = new Intent(getApplicationContext(),
Main.class);
startActivity(logIn);
}
// send the user a message saying the login failed
else {
runOnUiThread(new Runnable() {
public void run() {
pw.setText("");
fail.setText(R.string.fail);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
}
}
我得到的只是回应
05-25 13:57:21.292: V/RESPONSE(5871): <?xml version='1.0' encoding='UTF-8'?><!DOCTYPE plist PUBLIC '-//Apple//DTD PLIST 1.0//EN' 'http://www.apple.com/DTDs/PropertyList-1.0.dtd'><plist version='1.0'><dict><key>iId</key><string>0</string><key>itemChildren</key><array></array></dict></plist>
我知道这个响应来自哪里,在iphoneview/iphone_get_details.php的最底部。问题是我不知道是不是因为
- 我需要将其包装在
SOAP
请求中 - 我无法使用此代码
- 我连接到错误的文件(怀疑)
- 以上所有和/或其他内容
现在常识告诉我查看当前的 iphone_get_details.php 文件,无论哪种方式,我都不会收到“1”或“true”的响应。事实上,该文件看起来像是发回了大量信息,而实际上我想要的只是“1”或“true”,以确保我与正确的登录信息正确连接。因此,如果有人有时间查看这个问题,我将不胜感激,我知道阅读量很大。