Android-приложение соединяется с php xmlrpc

Я занимаюсь разработкой клиентского приложения, которое подключается к серверу, созданному с помощью php-скрипта с XMLRPC. Я пытался найти информацию, но не нашел ничего подробного, что пошагово. Я должен заставить клиента подключиться к этому php. Я хотел, чтобы он подключился и возвратил «подключенное» текстовое представление или ошибку подключения.

@Override
protected void onCreate(Bundle savedInstanceState) {

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

try {
url = new URL("http://192.168.1.23/wos.php");
} catch (java.net.MalformedURLException ex){
Toast.makeText(MainActivity.this, "Error de URL: "+ex.getMessage(), Toast.LENGTH_LONG);
}

txt = (TextView) findViewById(R.id.text_view);
btn = (Button) findViewById(R.id.btnPrueba);

client = new XMLRPCClient(url);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
connSrvPhp_sincrona();
}
});
}

public void connSrvPhp_sincrona(){
try {
Object o = client.call("login");


} catch(XMLRPCServerException ex) {
//Errores del server
String s  = ex.getMessage();
Toast.makeText(MainActivity.this, "Error de Servidor: "+ex.getMessage(), Toast.LENGTH_LONG).show();
} catch(XMLRPCException ex) {
//Errores del cliente
String s  = ex.getMessage();
Toast.makeText(MainActivity.this, "Error del Cliente: "+ex.getMessage(), Toast.LENGTH_LONG).show();
} catch(Exception ex) {
//Otros errores
String s  = ex.getMessage();
Toast.makeText(MainActivity.this,"Errores Varios: "+ex.getMessage(), Toast.LENGTH_LONG).show();
}
}

PHP:

use PhpXmlRpc\Value;

function login($req)
{

$err = "";

if (count($req) == 0){
return new PhpXmlRpc\Response(0, PhpXmlRpc\PhpXmlRpc::$xmlrpcerruser, "Parámetros incorrectos");
}
// get the first param
$usuario = $req->getParam(0);
$password = $req->getParam(1);

// param must be there and of the correct type: server object does the validation for us

// extract the value of the state number
$vUsuario = $usuario->scalarval();
$vPassword = $password->scalarval();

if (($vUsuario != 1) && ($vPassword != 1)){
$err = "Error en la validación de usuario y contraseña";
}

// if we generated an error, create an error return response
if ($err) {
return new PhpXmlRpc\Response(0, PhpXmlRpc\PhpXmlRpc::$xmlrpcerruser, $err);
} else {
// otherwise, we create the right response with the state name
return new PhpXmlRpc\Response(new Value("000000000001"));
}
}

$login_sig = array(array(Value::$xmlrpcString, Value::$xmlrpcString,
Value::$xmlrpcString,));
$login_doc = 'Valida al usuario y contraseña con un hash';

$signatures = array(
"examples.login" => array(
"function" => "login",
"signature" => $login_sig,
"docstring" => $login_doc,
),
);

// enable support for the NULL extension
PhpXmlRpc\PhpXmlRpc::$xmlrpc_null_extension = true;

$s = new PhpXmlRpc\Server($signatures, false);
$s->setdebug(3);
$s->compress_response = true;

$s->service();

Вы должны подключиться и, используя это имя пользователя и пароль, вы должны вернуть эти цифры. Я следовал этому уроку https://github.com/gturri/aXMLRPC но я не уточняю много. Правда совершенно потеряна в этой теме.

Цель состоит в том, чтобы подключиться к серверу php

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …