0

I'm trying to run my own BOP (BitsOfProof) server and connect to it. I appear to be able to connect, but I am unable to execute any commands. I am connecting with the following:

    StompJmsConnectionFactory connectionFactory = new StompJmsConnectionFactory();
    connectionFactory.setBrokerURI("tcp://localhost:61613");
    connectionFactory.setUsername("admin");
    connectionFactory.setPassword("password");
    JMSServerConnector api = new JMSServerConnector();
    api.setConnectionFactory(connectionFactory);
    api.setClientId(UUID.randomUUID().toString());
    api.init();

    Transaction t = api.getTransaction("07eec690b003f13ffe73608be35f22e3da6deb55bfd479dbc67c5f44c8d48963");
    System.out.println("t:" + t.getHeight());
    System.out.println("t:" + t.isDoubleSpend());

    Block b = api.getBlock("0000000000fb2149b0a8c0418041513b122e129e17992e22276c558ee7e8269b");
    System.out.println("b: " + b.getHeight());

and the error I am getting is:

Caused by: org.fusesource.stomp.client.ProtocolException: Received an error: Not authorized to receive from the temporary destination. Principals=[org.apache.activemq.jaas.GroupPrincipal(admins), org.apache.activemq.jaas.UserPrincipal(admin), org.apache.activemq.apollo.broker.security.SourceAddressPrincipal(127.0.0.1)]
at org.fusesource.stomp.client.CallbackConnection.processStompFrame(CallbackConnection.java:110)
at org.fusesource.stomp.client.CallbackConnection.access$0(CallbackConnection.java:92)
at org.fusesource.stomp.client.CallbackConnection$1.onTransportCommand(CallbackConnection.java:61)
at org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:659)
at org.fusesource.hawtdispatch.transport.TcpTransport$6.run(TcpTransport.java:538)
at org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:209)
at org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100)
at org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77)

As far as I can tell, the admin user should have access to everything. I tried creating a new user to connect with, and the same error was encountered. Anyone have any idea what I'm doing wrong?

1

Tamas has already found a workaround for this issue over on the Apollo JIRA

You need to change your apollo.xml to use the "default" virtual host id, instead of the one that is configured by the Apollo deployment. Its possible that the client side (BOP) needs to be configured to specify the virtual host to use somewhere, but I have no idea where, so this works for now.

<virtual_host id="default">

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.