我正在尝试使用我在 C# .NET 上编写的客户端应用程序向 ActiveMQ 服务器发送消息。我有已转换为 Zip 流并尝试发送的 XML 消息。
public IMessage SendMessage(string mqUri, string brokerUri, MemoryStream message, string username, string password)
{
Uri connecturi = new Uri(mqUri);
IConnectionFactory factory = new NMSConnectionFactory(connecturi);
using (IConnection connection = factory.CreateConnection(username, password))
using (ISession session = connection.CreateSession())
{
IDestination destination = SessionUtil.GetDestination(session, brokerUri);
using (IMessageProducer producer = session.CreateProducer(destination))
{
connection.Start();
IBytesMessage request = session.CreateBytesMessage(message.ToArray());
producer.Send(request);
return request;
}
}
}
在服务器端解析数据时出现异常,例如:
JMS 消息侦听器的执行失败。原因:[org.apache.camel.RuntimeCamelException - 无法提取正文,原因是:javax.jms.JMSException:无法从字节构建正文。原因:java.io.StreamCorruptedException:无效的流标头:00010000。消息:ActiveMQObjectMessage。
当我调试代码并设置断点时,Bodylength 上出现异常,并且内容说“request.Content”引发了“Apache.NMS.MessageNotReadableException”类型的异常
在 ActiveMQ 服务器上发送消息是否有任何特殊的 zip 转换?请帮忙。谢谢