PublishVideo : Java.lang.NullPointerExeption Error

I am developing OpenVidu using Unity.
Creating a session in Unity and doing JoinRoom
PublishVideo throws a Java.lang.NullException error.
If you look at the API documentation, all parameters are normally entered.
What’s the problem?
Below is the source code.

private IEnumerator Connect()
{
UnityWebRequest SessionRequest = UnityWebRequest.Get($“https://{Server}/api/sessions/” + Room);
SessionRequest.SetRequestHeader(“Authorization”, "Basic " + EncodedSecret);
SessionRequest.certificateHandler = new AcceptAllCertificatesSignedWithASpecificKeyPublicKey();
yield return SessionRequest.SendWebRequest();

        bool sessionOk = false;
        string token = "";
        if (SessionRequest.isNetworkError)
        {
            Debug.Log("Error While Sending: " + SessionRequest.error);
        }
        else
        {
            Debug.Log($"Received{SessionRequest.responseCode}: {SessionRequest.downloadHandler.text}");
            session = JsonConvert.DeserializeObject<OpenViduSessionInfo>(SessionRequest.downloadHandler.text);

            sessionOk = true;
        }

        if (SessionRequest.responseCode == 404)
        {
            Debug.Log("Creating Session");

            SessionRequest = new UnityWebRequest($"https://{Server}/api/sessions", "POST");
            byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes("{\"customSessionId\": \"" + Room + "\"}");
            SessionRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend);

            SessionRequest.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
            SessionRequest.SetRequestHeader("Content-Type", "application/json");
            SessionRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();

            SessionRequest.certificateHandler = new AcceptAllCertificatesSignedWithASpecificKeyPublicKey();
            yield return SessionRequest.SendWebRequest();

            if (SessionRequest.isNetworkError)
            {
                Debug.Log("Error While Sending: " + SessionRequest.error);
            }
            else
            {
                Debug.Log($"Received{SessionRequest.responseCode}: {SessionRequest.downloadHandler.text}");
                sessionOk = true;
            }
        }

        if (sessionOk)
        {
            string strSession1 = "{\"session\": \"" + Room + "\"}"; //"{\"session\": \"TestWebcam\"}";
            byte[] json1 = new UTF8Encoding().GetBytes(strSession1);

            Debug.Log("Asking for a token");

            SessionRequest = new UnityWebRequest($"https://{Server}/openvidu/api/tokens", "POST");
            SessionRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(json1);
            SessionRequest.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
            SessionRequest.SetRequestHeader("Content-Type", "application/json");
            SessionRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();

            SessionRequest.certificateHandler = new AcceptAllCertificatesSignedWithASpecificKeyPublicKey();
            yield return SessionRequest.SendWebRequest();

            if (SessionRequest.isNetworkError)
            {
                Debug.Log("Error While Sending: " + SessionRequest.error);
            }
            else
            {
                Debug.Log($"Received{SessionRequest.responseCode}: {SessionRequest.downloadHandler.text}");
                var t = JsonConvert.DeserializeObject<OpenViduToken>(SessionRequest.downloadHandler.text);
                token = t.token;
                Debug.Log($"Token :{token}");
            }
        }

        // Connection
        if (sessionOk)
        {
            SessionRequest = new UnityWebRequest($"https://{Server}/openvidu/api/sessions/{Room}/connection", "POST");
            string uploadBody = "{\"type\": \"WEBRTC\"," +
                "\"data\": \"My Server Data\"," +
                "\"record\": false," +
                "\"role\": \"PUBLISHER\"," +
                "\"kurentoOptions\": {" +
                "\"videoMaxRecvBandwidth\": 1000," +
                "\"videoMinRecvBandwidth\": 300," +
                "\"videoMaxSendBandwidth\": 1000," +
                "\"videoMinSendBandwidth\": 300," +
                "\"allowedFilters\": [" +
                "\"GStreamerFilter\"," +
                "\"ZBarFilter\"" +
                "]" +
                "}" +
                "}";
            byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(uploadBody);
            SessionRequest.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend);
            SessionRequest.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
            SessionRequest.SetRequestHeader("Content-Type", "application/json");
            SessionRequest.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();

            SessionRequest.certificateHandler = new AcceptAllCertificatesSignedWithASpecificKeyPublicKey();
            yield return SessionRequest.SendWebRequest();

            if (SessionRequest.isNetworkError)
            {
                Debug.Log("Error While Sending: " + SessionRequest.error);
            }
            else
            {
                Debug.Log($"Received{SessionRequest.responseCode}: {SessionRequest.downloadHandler.text}");

                string LocalTempName = SessionRequest.downloadHandler.text.Substring(7, 14);
                // Connection
                SessionRequest = UnityWebRequest.Get($"https://{Server}/openvidu/api/sessions/{Room}/connection/{LocalTempName}");
                SessionRequest.SetRequestHeader("Authorization", "Basic " + EncodedSecret);
                SessionRequest.certificateHandler = new AcceptAllCertificatesSignedWithASpecificKeyPublicKey();
                yield return SessionRequest.SendWebRequest();

                if (SessionRequest.isNetworkError)
                {
                    Debug.Log("Error While Sending: " + SessionRequest.error);
                }
                else
                {
                    Debug.Log($"Received{SessionRequest.responseCode}: {SessionRequest.downloadHandler.text}");
                }
            }
        }

        // connect WebSocket
        webSocket = gameObject.GetComponent<UnityWebSocket>();
        webSocket.Connect();
        yield return new WaitForSeconds(1f);

        long i = idMessage++;
        webSocket.SendText("{\"jsonrpc\": \"2.0\"," +
         "\"method\": \"joinRoom\"," +
         "\"params\": {" +
         "\"token\": \"" + token + "\"," +
         "\"session\": \"" + Room + "\"," +
         //"\"platform\": \"Chrome 76.0.3809.132 on Linux 64-bit\"," +
         "\"platform\": \"Chrome 99.0.4844.51 on Windows 10 64-bit\"," +
         "\"metadata\": \"{clientData: TestClient}\"," +
        "\"secret\": \"" + Secret + "\", " +
        "\"recorder\": false  }," +
        "\"id\": " + i + " }");

        messages.Add(i, OpenViduType.JoinRoom);
    }

See publishVideo java.lang.NullPointerException error · Issue #705 · OpenVidu/openvidu · GitHub