在我的iOS应用中,我使用https://github.com/bimawa/AMQProtocol
中的RabbitMQ包装器AMQPConnection *connection = [[AMQPConnection alloc] init];
NSError *error,*error1,*error2;
[connection connectToHost:server onPort:port error:&error];
[connection loginAsUser:login withPasswort:password onVHost:@"/" error:&error1];
AMQPChannel *channel = [connection openChannelError:&error2]; // Get error here!
在最后一行,我收到错误"无法打开频道" :
2014-06-27 11:17:06.094 MyApp[40055:60b] TCLib>> AMQPException AMQP_RESPONSE_LIBRARY_EXCEPTION: Failed to open a channel: Argument list too long
2014-06-27 11:17:06.107 MyApp[40055:60b] TCLib>> open channel error: Error Domain=AMQPChannel Code=-5 "Failed to open a channel" UserInfo=0x9abe330 {NSLocalizedDescription=Failed to open a channel}
服务器,主机,登录名和密码正常运行。我在Android应用程序上检查了它们。
无法找出无法打开频道的原因。你能推荐什么吗?
答案 0 :(得分:0)
可能为时已晚,但可能对其他人有帮助。:)
在我的情况下,问题出在我登录'vhost'或
时出错 [connection loginAsUser:login withPasswort:password onVHost:@"/" error:&error1];
行,我试图打开空连接的通道。 问题是兔子服务器的权限检查机制。
<强>更新强>:
例如,在将每行传递给这样的方法之后检查错误:
if(error!=nil){
NSLog(@"%@",error);
return;
}