Pregunta sobre BigBlueButton de Wordpress:

Error de grabación: no se pudo analizar la cadena como XML

Un usuario preguntó 👇

Hola,

He instalado este plugin en 2 ubicaciones diferentes en el mismo servidor. Sin embargo, hace aproximadamente 2 semanas en uno de los sitios web, las grabaciones dejaron de aparecer en el backend y en su lugar recibí este mensaje:

Error fatal: no se pudo analizar la excepción ‘Excepción’ con el mensaje ‘Cadena analizada como XML’ en /…/bigbluebutton/php/bbb_api.php:46 Pista de apilamiento: # 0 /… / bigbluebutton / php / bbb_api.php (46) : SimpleXMLElement -> __ tóg (‘ ?? <… ') # 1 /… / bigbluebutton / php / bbb_api.php (426): bbb_wrap_simplexml_load_file ('http: //… & # 8217😉 # 2 /… / bigbluebutton / bigbluebutton-plugin.php (1274): BigBlueButton :: getRecordingsArray (‘6853b8bc0c30fee …’, ‘http: //… & # 8217;, ’46dac3c025efbbf …’) # 3 /… / bigbluebutton / bigbluebutton-plugin.php (749): bigbluebutton_list_recordings (‘Lista de registros …’) # 4 [internal function]: bigbluebutton_general_options (”) # 5 /… / wp-includes / class-wp-hook.php (298): call_user_func_array (‘bigbluebutton_g…’, Array) # 6 /… / wp-include / class-wp-hook in / … / Bigbluebutton / php / bbb_api.php en línea 46

No hubo cambios en el servidor o el sitio web y ambos sitios web ejecutan la misma versión del plugin. ¿Podría un lío grabar algo? Las grabaciones aún se están realizando y almacenando en el servidor.

(@jfederico)

Hace 3 años, 2 meses

Hola,

¿Qué servidor estás usando? ¿Tiene uno o está usando test-install (el que viene por defecto)?

Ese error significa que por alguna razón su servidor de WordPress no puede comunicarse con el servidor BBB, o la respuesta es incorrecta.

Además, dependiendo de la versión en su servidor BBB, una mala grabación puede romper la respuesta xml, en cuyo caso el plugin no sabe qué hacer con la respuesta.

La única forma de estar seguro es ejecutar algunas consultas de API utilizando una herramienta de desarrollo como http://mconf.github.io/api-mate/

JF

(@spooky_jack)

Hace 3 años, 2 meses

Tengo mi propio servidor y BBB v1.0. No creo que sea un error de comunicación porque veo toda la otra información en la parte de atrás además de las grabaciones. Podría ser una grabación rota. Lo comprobaré y te informaré.

(@spooky_jack)

Hace 3 años, 2 meses

Hola,

Revisé bbb-record –debug pero no pude encontrar nada. También verifiqué las grabaciones con fechas antes de que api-mate obtuviera el error, pero no vi nada extraño. Todos parecen estar publicados y con información similar. ¿Hay alguna forma de averiguar más sobre el error que me ayude a entender dónde buscar?

(@jfederico)

Hace 3 años, 2 meses

Bueno, el XML que está obteniendo está claramente roto. Necesita averiguar qué está rompiendo la grabación la respuesta.

Lo que recomendaría primero es que, usando api-mate, haga getRecordings sin MeetingID oordingID. Si alguno de los archivos grabados está dañado, también romperá esa respuesta.

En segundo lugar, verifique los registros de su sitio web (apache o nginx) y vea si ya existe algo.

Si no es así, agregue una línea para imprimir la URL de getRecordings y la respuesta que está recibiendo del servidor.

Si desea asegurarse de que su servidor y plugin de WordPress estén bien, cambie la configuración para usar la instalación de prueba y crear una grabación. Deberías tener una buena respuesta de eso. Tenga en cuenta que puede llevar algún tiempo procesar la grabación en una instalación de prueba.

JF

(@spooky_jack)

Hace 3 años, 2 meses

1. getRecordings devuelve un archivo xml correcto y correcto a continuación con todas las grabaciones en una condición similar 2. El cambio de configuración para utilizar una instalación de prueba genera el mismo error. mismo error 4. Los archivos de registro contienen errores como los siguientes:
[error] 25231 # 0: * 74365 FastCGI envió stderr: “Mensaje de PHP: Error fatal de PHP: Excepción ‘No especificada’ con el mensaje ‘No se pudo analizar la cadena como XML’ en /…/bigbluebutton/php/bbb_api.php:46 Pista de apilamiento : # 0 /… / bigbluebutton / php / bbb_api.php (46): SimpleXMLElement -> __ tóg (‘ ?? <… ') # 1 /… / bigbluebutton / php / bbb_api.php (426): bbb_wrap_simplexml_load_file ('http: //… & # 8217😉 # 2 /… / bigbluebutton / bigbluebutton-plugin.php (1274): BigBlueButton :: getRecordingsArray (‘6853b8bc0c30fee …’, ‘http: //… & # 8217;, ’46dac3c025efbbf …’) # 3 /… / bigbluebutton / bigbluebutton-plugin.php (749): bigbluebutton_list_recordings (‘Lista de registros …’) # 4 [internal function]: bigbluebutton_general_options (”) # 5 /… / wp-includes / plugin.php (524): call_user_func_array (‘bigbluebutton_g…’, Array) # 6 /…” mientras lee el encabezado de respuesta del río, cliente: *** . ** *. ***. ***, servidor: *****. ***, pregunte: «GET /wp-admin/options-general.php?page=bigbluebutton_general HTTP / 1.1», aguas arriba: «fastcgi: //unix:/***/php5-fpm.sock:» , anfitrión: “www. *****. *** ”

[error] 1240 # 0: * 1077925 FastCGI más estricto enviado: “PHP: mensaje PHP Error fatal: Excepción ‘Excepción’ no anunciada con mensaje ‘No se pudo analizar la cadena como XML’ en /…/bigbluebutton/php/bbb_api.php:46 Pista de apilamiento : # 0 /… / bigbluebutton / php / bbb_api.php (46): SimpleXMLElement -> __ tóg (‘ ?? <… ') # 1 /… / bigbluebutton / php / bbb_api.php (426): bbb_wrap_simplexml_load_file ('http: //… & # 8217😉 # 2 /… / bigbluebutton / bigbluebutton-plugin.php (1249): BigBlueButton :: getRecordingsArray (‘6853b8bc0c30fee …’, ‘http: //… & # 8217;, ’46dac3c025efbbf …’) # 3 /… / bigbluebutton / bigbluebutton-plugin.php (379): bigbluebutton_list_recordings (NULL) # 4 [internal function]: bigbluebutton_recordings_shortcode (”,”, ‘bigbluebutton_r…’) # 5 /…/wp-includes/shortcodes.php(326): call_user_func (‘bigbluebutton_r…’, ”,”, ‘bigbluebutton ”y el encabezado de respuesta de lectura : ***. ***. ***. ***, servidor: *****. ***, pregunte: “GET /… / recordings / HTTP / 1.1”, upstream: “fastcgi: // unix: /…/php5-fpm.sock: «, host:» www. *****. *** «, redirector:»http: //www.*****.***/wp-admin/post.php? post = *** & action = edit & # 8221;

(@jfederico)

Hace 3 años, 1 mes

Eso es bastante extraño.

No he recibido de la primera publicación (hasta ahora) que tenía dos sitios en el mismo servidor. Uno funciona y el otro no funciona. Eso es lo que hace que las cosas sean tan raras. La única explicación que me viene a la mente es que su aplicación está obteniendo un XML incorrecto. Pero sus registros no se mostrarán si ese es el caso.

Está pasando aquí

[error] 25231 # 0: * 74365 FastCGI envió stderr: “Mensaje de PHP: Error fatal de PHP: ‘Excepción’ no evitada con el mensaje ‘No se pudo analizar la cadena como XML’ en /…/bigbluebutton/php/bbb_api.php:46

Lo que significa que el problema está aquí

https://github.com/blindsidenetworks/wordpress-plugin_bigbluebutton/blob/1.x/php/bbb_api.php#L46

Lo que significa que el parámetro establecido en $ data es incorrecto.

$ respuesta = nuevo SimpleXMLElement ($ datos);

Te estaba diciendo que imprimieras un error. En la línea 44 puedes hacer algo como

error_log ($ datos);

Toma eso y usa el formateador xml como

https://www.freeformatter.com/xml-formatter.html

Y mira dónde está roto (si lo hay)

La otra cosa que le estaba diciendo que hiciera es imprimir el getRecordingURL para que pueda realizar la consulta en un navegador e incluso ver qué instalaciones para reuniones se utilizan en la consulta. Definitivamente hay algo mal con su implementación y luego está depurando el código.

Eso es lo que haría todo lo posible para reproducirlo por mi cuenta.

(@spooky_jack)

Hace 3 años, 1 mes

Hola de nuevo,

Imprimí el $ MeetingIDID pasado como parámetro por getRecordingsURL. Lo copié y luego asigné los subconjuntos $ meetingsID de la ropa de reunión del valor original para averiguar cuál de las prendas de reunión tenía el problema. Para cada subconjunto, sin embargo, vi la salida sin errores esperada. ¿Será que hay demasiadas grabaciones para mostrar? Son 211 en este momento. Muestra la tabla de grabaciones para hasta 185 reuniones. Comienza a dividirse hasta 187 y muestra un mensaje sin grabaciones y luego me da el error (obviamente hice varios cambios en el orden de las instalaciones de reuniones para asegurarme de que no sea el 186th o el 188 que causó el problema).

(@jfederico)

Hace 3 años, 1 mes

¡Eso es !, has encontrado la raíz del problema. La URL es demasiado larga para ser administrada por BBB.

La API utilizada en esta integración está desactualizada y no se ha actualizado. La forma en que resolvimos ese problema en Moodle fue replicar la aplicación getRecordings cuando hay más de x reuniones para consultar.

Supongo que necesitamos agregar una nueva lógica para cubrir este caso de uso.

Desafortunadamente, no hay mucho que puedas hacer ahora. Necesitamos actualizar el código pero sin MTE para eso, intentaré hacerlo en los próximos días pero no puedo hacer ninguna promesa. Es genial que ahora sepamos dónde está el problema.

Gracias por el informe, los mantendré informados.

JF

(@spooky_jack)

Hace 3 años, 1 mes

¡Gracias por tu tiempo!

(@jfederico)

Hace 3 años, 1 mes

Hola,

¡Buenas noticias !, tengo la solución para la edición que informó, pero aún no se ha lanzado. ¿Puedes probar la última versión disponible en el repositorio de github?

https://github.com/blindsidenetworks/wordpress-plugin_bigbluebutton/archive/1.x.zip

Necesito más de tu ayuda. ¿Puedes probar con una hormiga para decirme si funciona para ti? Si todo está bien, lanzaré esta versión durante la semana.

Salud,

JF

(@spooky_jack)

Hace 3 años, 1 mes

Desafortunadamente, «No hay grabaciones disponibles». mensaje. Sin embargo, todavía no he tenido la oportunidad de explorar más.

(@spooky_jack)

Hace 3 años, 1 mes

Esta es mi consulta $ sql en la función bigbluebutton_list_recordings: SELECT DISTINCT meetingID De wp_bigbluebutton_logs DONDE REGISTRAR = 1 Y (meetingID = ”) ORDENAR POR la ​​marca de tiempo;

(@jfederico)

Hace 3 años, 1 mes

Sí, abusé del resultado de una explosión. Su último micro-error lo introduje cuando expandí bigbluebutton_recordings para permitir el filtrado por señal.

Debería estar bien ahora.

(@ atar3d)

Hace 3 años, 1 mes

funciona bien ahora a menos que el botón de la barra de herramientas de eliminación en la lista de registros elimine la grabadora. Utilizo el servidor test-install.blindsidenetworks.com para probar. tal vez sea una cuestión de permición

(@jfederico)

Hace 3 años, 1 mes

¿Dónde tenías la misma pregunta que informó spooky_jack?

Ese problema no tiene nada que ver con la eliminación y funciona perfectamente en mis casos (incluso con una instalación de prueba)

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.