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