Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google云端点错误由以下原因引起:java.lang.IllegalArgumentException:应为原始类,但已获取_Java_Android_Google Api Java Client_Google Cloud Endpoints V2 - Fatal编程技术网

Google云端点错误由以下原因引起:java.lang.IllegalArgumentException:应为原始类,但已获取

Google云端点错误由以下原因引起:java.lang.IllegalArgumentException:应为原始类,但已获取,java,android,google-api-java-client,google-cloud-endpoints-v2,Java,Android,Google Api Java Client,Google Cloud Endpoints V2,我有一个简单的谷歌云端点,它是从我的Android应用程序调用的。很长一段时间以来,它一直很有魅力。最近,我更新了项目中的Android Studio、Gradle插件和build.Gradle文件 此后,Android应用程序每次尝试调用该端点时都会返回此错误: Process: com.berylo.chat, PID: 26426 java.lang.RuntimeException: An error occurred while executing doInBackgr

我有一个简单的谷歌云端点,它是从我的Android应用程序调用的。很长一段时间以来,它一直很有魅力。最近,我更新了项目中的Android Studio、Gradle插件和build.Gradle文件

此后,Android应用程序每次尝试调用该端点时都会返回此错误:

    Process: com.berylo.chat, PID: 26426
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:354)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.lang.IllegalArgumentException: 
        at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:889)
        at com.google.api.client.json.JsonParser.parse(JsonParser.java:382)
        at com.google.api.client.json.JsonParser.parse(JsonParser.java:355)
        at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:87)
        at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)
        at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:459)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
        at com.berylo.chat.Encriptador$3.doInBackground(Encriptador.java:282)
        at com.berylo.chat.Encriptador$3.doInBackground(Encriptador.java:277)
        at android.os.AsyncTask$2.call(AsyncTask.java:333)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
     Caused by: java.lang.IllegalArgumentException: expected primitive class, but got: class com.crypto.berylo.com.clavePublica4Api.model.RespuestaAlCliente
        at com.google.api.client.util.Data.parsePrimitiveValue(Data.java:453)
        at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:859)
        at com.google.api.client.json.JsonParser.parse(JsonParser.java:382) 
        at com.google.api.client.json.JsonParser.parse(JsonParser.java:355) 
        at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:87) 
        at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81) 
        at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:459) 
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469) 
        at com.berylo.chat.Encriptador$3.doInBackground(Encriptador.java:282) 
        at com.berylo.chat.Encriptador$3.doInBackground(Encriptador.java:277) 
        at android.os.AsyncTask$2.call(AsyncTask.java:333) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764)
这是端点代码:

@ApiMethod(name = "obtenerDiasCaducidadClavesDeGrupo",
            path = "grupo",
            httpMethod = ApiMethod.HttpMethod.GET)
    public RespuestaAlCliente obtenerDiasCaducidadClavesDeGrupo(User user)
            throws OAuthRequestException, IOException {
        String dias = "";
        if (user == null)
        {
            throw new OAuthRequestException("Usuario no valido");
        }
        else {
            dias = DIAS_HASTA_CADUCIDAD_DE_CLAVES_DE_GRUPO;
        }
        respuestaalcliente.setMessage(dias);
        logger.info("respuestaalcliente: " + respuestaalcliente);
        return respuestaalcliente;
    }
这是Android应用程序代码。触发de错误的行标记为------->

我尝试过恢复到以前的Android Studio版本、gradle插件、库,甚至恢复一些项目的备份。错误仍然存在

我遗漏了什么,有什么想法吗?提前谢谢


编辑:我忘了提到我在GoogleAPI java客户端的github中发现了这个老问题,使用了相同的stacktrace。这可能与我的问题有关

我真丢脸,这是我的错:(

我想让一些人在发布我的网站之前查看它,所以我在web.xml文件中上载了它,并为这些用户授予了权限。这些限制阻止了Android应用程序到达后端端点


我希望没有人在这件事上浪费时间。对于由此带来的任何不便,我深表歉意。

好吧,我感到羞耻,这是我的错:(

我想让一些人在发布我的网站之前查看它,所以我在web.xml文件中上载了它,并为这些用户授予了权限。这些限制阻止了Android应用程序到达后端端点

我希望没有人在这件事上浪费时间。对于由此造成的不便,我深表歉意

private void obtenernumeroDiasValidezClavesAsimetricas(final Context context){
        try {
            AsyncTask<Void, Void, String> miTareaAsincrona;
            miTareaAsincrona = new AsyncTask<Void, Void, String>() {

                @Override
                protected String doInBackground(Void... params) {
                    try {
THIS ------>            RespuestaAlCliente respuestaAlCliente = MisEndPointsClavePublica.serviceEndPoint.obtenerDiasCaducidadClaveAsimetrica().execute();
                        return respuestaAlCliente.getMessage();
                    } catch (IOException e) {
                        e.printStackTrace();
                        return null;
                    }
                }

                @Override
                protected void onPostExecute(String result) {
                    if((result != null) && (!result.equals("") && (!result.equals("null")))) {
                        numeroDiasValidezClaveAsimetrica = parseInt(result);
                    } else {
                        numeroDiasValidezClaveAsimetrica = 1;
                    }
                    try {
                        generateAsymmetricKeys(context, numeroDiasValidezClaveAsimetrica);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

            };
            miTareaAsincrona.execute(null, null, null);
        } catch (Exception e){
            e.printStackTrace();
        }
    }
public class RespuestaAlCliente {

    public String message;

    public RespuestaAlCliente() {}

    public RespuestaAlCliente(String message) {
        this.message = message;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}