Android Studio: XmlRpcClientException Не удалось проанализировать ответ сервера: неожиданные данные непробельных символов - PullRequest
0 голосов
/ 15 апреля 2020

Итак, я пытаюсь подключить мое приложение к базе данных odoo в android с помощью внешнего API odoo "XML -RP C", чтобы получить данные из базы данных, я смог подключиться, и я получить идентификатор пользователя успешно, я также был в состоянии искать и создавать обычные, но когда я в лотке, чтобы прочитать любую вещь из базы данных, это исключение продолжает показывать. и я не могу найти ничего, что он может мне помочь. Так, пожалуйста, есть кто-нибудь, кто может сказать мне, где я делаю mestaking?

Это мой код:

public class MainActivity extends AppCompatActivity {
        final String db = "BTP_p",
        username = "admin",
        password = "_chantier";
        final String url ="http://sogesi.hopto.org";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new DemoTask().execute(url);


}
class DemoTask extends AsyncTask<String, Void, Integer> {


    @Override
    protected Integer doInBackground(final String... url) {

        final XmlRpcClient client = new XmlRpcClient();
        final XmlRpcClientConfigImpl common_config = new XmlRpcClientConfigImpl();

        try {
            //Testé l'authentification
            common_config.setServerURL(
                    new URL(String.format("%s/xmlrpc/2/common", url)));

            int uid = (int)client.execute(
                    common_config, "authenticate", asList(
                            db, username, password, emptyMap()));
            Log.d("result", "*******************************************************************");
            Log.d("uid = ", Integer.toString(uid));


            //Testé la liste des recordes d'une table
            final XmlRpcClient models = new XmlRpcClient() {{
                setConfig(new XmlRpcClientConfigImpl() {{
                    setServerURL(new URL(String.format("%s/xmlrpc/2/object",url)));
                }});
            }};


            final List id = asList((Object[])models.execute(
                    "execute_kw", asList(
                            db, uid, password,
                            "project.chantier", "search",
                            asList(asList(
                                    asList("state", "=", "en_cour"))),
                            new HashMap() {{
                                put("limit", 1);
                            }}
                            )));

            //this is the ligne where the exception is rising
            final Map record = (Map)((Object[])models.execute(
                    "execute_kw", asList(
                            db, uid, password,
                            "project.chantier", "read",
                            asList(id)
                    )
            ))[0];

           return (Integer) uid;

        } catch (MalformedURLException e) {
            Log.d("MalformedURLException", "*********************************************************");
            Log.d("MalformedURLException", e.toString());
        }  catch (XmlRpcException e) {
            e.printStackTrace();
        }

        return null;
    }

    protected void onPostExecute(Void result) {
        // TODO: do something with the feed
    }
}

}

Это исключение

1 Ответ

0 голосов
/ 19 апреля 2020

В моем случае мне пришлось скачать и импортировать эти три библиотеки:

exist-dependency-ws-commons-util-1.0.2.jar
xmlrpc-client-3.1.jar
xmlrpc-common-3.1.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...