No subject


Tue Apr 12 10:32:41 BST 2011


<quote>The value of this entry is a long string</quote>

and in your code you have:

			case IS_STRING:
				field->kind = AMQP_FIELD_KIND_BYTES;
				char *strValue = estrndup(Z_STRVAL_P(&value), Z_STRLEN_P(&value));
				field->value.bytes = amqp_cstring_bytes(strValue);
				break;

According to 
http://hg.rabbitmq.com/rabbitmq-c/file/default/librabbitmq/amqp.h, 
AMQP_FIELD_KIND_BYTES corresponds to the 'x' "Byte array" AMQP type, 
whereas what the broker is expecting is the 'S' "Long string" type, 
which is AMQP_FIELD_KIND_UTF8 in the C code.

Matthias.


More information about the rabbitmq-discuss mailing list