【发布时间】:2015-12-01 20:16:55
【问题描述】:
我有一个在 Node.js 中运行的 STOMP 客户端,它订阅了 ActiveMQ 中的队列。使用 cURL 时,我可以使用以下命令将消息发布到队列(由我在 Node 中运行的 STOMP 客户端立即使用):
curl -d "body=message" http://sub.dummyhost.net:8161/demo/message/dispatch?type=queue
我正在尝试使用 Node.js 的请求模块 (https://github.com/request/request) 使用以下代码重现此 POST 请求,这符合我们应该如何使用 application/x-www-form-urlencoded 数据发送 POST 请求:
request.post({
url: 'http://sub.dummyhost.net:8161/demo/message/dispatch?type=queue',
form: {
body:'message'
}
},
function(err, response, body){
//do something with response
});
在响应的 headers 属性中,我可以看到 message-id 属性,每次使用上面的函数调用发出 POST 请求时,该属性都会递增。但是,当我检查代理本身的管理视图时,我没有看到入队和出队的消息增加(而且我的 STOMP 消费者什么也没收到,这与我使用 cURL 发出 POST 请求时不同)。消息似乎根本没有发布到队列中。
我在这里缺少什么?
【问题讨论】:
标签: node.js forms http curl activemq