我正在尝试遵循使用 Windows Azure 队列处理大型消息的最佳实践,但我遇到了第一个障碍。该文章建议在将消息添加到 Azure 队列之前对其进行压缩,我尝试使用以下代码执行此操作...
$compressedMessage = gzcompress('Test', 9);
try {
$queueRestProxy->createMessage($queueName, $compressedMessage);
} catch (ServiceException $e) {
$code = $e->getCode();
$error_message = $e->getMessage();
echo $code . ': ' . $error_message . '<br />';
}
不幸的是,如下引发了 ServiceException ......
400: Fail: Code: 400 Value: XML specified is not syntactically valid. details (if any): InvalidXmlDocumentXML specified is not syntactically valid. RequestId:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Time:2014-02-07T20:04:07.8227706Z316Error parsing Xml content.
删除对gzcompress
(即不压缩地传递字符串)的调用会导致消息“测试”成功添加到队列中。
有谁知道我可以如何克服这个问题?