Consulta MQGET (MQSeries)

rmichaud
18 de Abril del 2005
Hola,
Estoy haciendo un programa que debe traer mensajes de una cola de MQSeries. Al hacer un dumpq contra la cola, veo que los mensajes vienen completos. Sin embargo, como resultado del MQGET solamente recibo 30 bytes (de mensajes de 275 bytes de longitud). Estoy casi seguro de que el problema está en los parámetros que le estoy pasando al MQGET (tamaño del buffer), pero no sé muy bien cómo solucionarlo, ya que no importa lo que haga, siempre recibo esos 30 bytes solamente.

Estoy pasando la función de la siguiente forma:

MQGET(HConn, Hqueue, &MsgDesc, &GetMsgOpts, maxlen,buffer, &dataLength, &mqStatus,&mqReason);

donde:

MQGMO GetMsgOpts = { MQGMO_DEFAULT }
MQMD MsgDesc = { MQMD_DEFAULT }
dataLegth lo asigno a capón para ver qué pasa

En fin, si alguien tiene alguna idea, le envío el programa y que le eche un vistazo. Gracias.

Saludos,

Ralph

Pablo
18 de Abril del 2005
En vez de asignar el valor a la variable &datalength, debes asignarlo al tamaño del buffer donde vas a recibir el mensaje, en tu comando es la variable MAXLEN.