データベースに接続できるかどうかを取得する小さなコードを実行しています。このようなコードがいくつかありますが、なぜこれが機能しないのかわかりません。
例外は次のとおりです。
10-24 06:09:08.362: E/Exception:(1753): org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG (empty) <br>@1:7 in java.io.InputStreamReader@4176d928)
Java コード:
private final String NAMESPACE = "http://10.0.0.47/fullexample/server.php/";
private final String URL = "http://10.0.0.47/fullexample/server.php";
/*
....
*/
private class get_connectivity extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
try{
SoapObject request = new SoapObject(NAMESPACE, "can_connect");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(URL + "/can_connect", envelope);
return "done";
}catch (Exception e){
Log.e("Exception:", e.toString());
}
return "not done";
}
@Override
protected void onPostExecute(String result) {
// got_connection = it's a global string variable
got_connection = result;
}
}
関数 can_connect (PHP Web サービス内) は次のとおりです。
function can_connect(){
$host = "localhost";
$user = "root";
$database = "fullexampleDB";
$pwd = "";
$db = new mysqli($host, $user, $pwd, $database);
if ($db->connect_errno) {
return false;
exit();
}
$db->close();
return true;
}
私も「できませんでした」というメッセージをいつも受け取っています。ありがとう。