Are you specifying a username/password for the XMPP component?  I
believe you also need to specify the participant which is the Jabber
ID that you'll receive messages from.

There's also an issue where the XMPP consumer stops listening, I've
got a patch submitted for this for CAMEL-1914.

On Mon, Aug 17, 2009 at 10:15 PM, Ely Celino<[email protected]> wrote:
> Still no luck for me. My code is:
>
> from("xmpp://localhost:61222").process(new Processor() {
>                   �...@override
>                    public void process(Exchange exchange) throws Exception
> {
>                        XmppMessage m = (XmppMessage) exchange.getIn();
>                        org.jivesoftware.smack.packet.Message xmppMessge =
> m.getXmppMessage();
>                        System.out.println("XML" + xmppMessge.toXML());
>                    }
>                });
>
> and I am getting the following error when calling context.start():
>
> java.lang.NullPointerException: null keys not allowed
>    at
> org.jivesoftware.smack.util.collections.AbstractReferenceMap.put(AbstractReferenceMap.java:249)
>    at org.jivesoftware.smack.ChatManager.createChat(ChatManager.java:163)
>    at org.jivesoftware.smack.ChatManager.createChat(ChatManager.java:155)
>    at org.jivesoftware.smack.ChatManager.createChat(ChatManager.java:136)
>    at
> org.apache.camel.component.xmpp.XmppConsumer.doStart(XmppConsumer.java:54)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>    at
> org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:421)
>    at
> org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:659)
>    at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:632)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
>    at Main.main(Main.java:18)
>
>
>
> On Mon, Aug 17, 2009 at 7:35 PM, Claus Ibsen <[email protected]> wrote:
>
>> Hi
>>
>>
>>
>> On Mon, Aug 17, 2009 at 1:23 PM, Ely Celino<[email protected]> wrote:
>> > Ok, got it! Thanks. I think this is what I exactly need!
>> >
>> > If it is ok with you, I want to ask a few more questions.
>> >
>> > I am having problem receiving the message in my RouteBuilder. My broker
>> is
>> > running using the following code
>> >
>> >  public void start() throws Exception {
>> >        BrokerService broker = new BrokerService();
>> >        broker.setDedicatedTaskRunner(false);
>> >        TransportConnector xmppTransport = new TransportConnector();
>> >        xmppTransport.setName("xmpp");
>> >        xmppTransport.setUri(new URI("xmpp://localhost:61222"));
>> >        broker.addConnector(xmppTransport);
>> >        broker.setPlugins(new BrokerPlugin[]{new
>> > PlayerAuthenticationPlugin()});
>> >        broker.start();
>> >
>> >    }
>> >
>> > Then I want to process the xmpp messages/packets, but I am not receiving
>> > anything yet. this is my code:
>> >
>> > CamelContext context = new DefaultCamelContext();
>> >        ConnectionFactory connectionFactory = new
>> > ActiveMQConnectionFactory("xmpp://localhost:61222");
>> >        // Note we can explicity name the component
>> >        context.addComponent("xmpp",
>> > JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
>> >        RouteBuilder routeBuilder = new RouteBuilder() {
>> >           �...@override
>> >            public void configure() throws Exception {
>> >                from("xmpp://localhost:61222/").process(new Processor() {
>> >                   �...@override
>> >                    public void process(Exchange exchange) throws
>> Exception
>> > {
>> >                        System.out.println("this is it!");
>> >                        Map map = exchange.getIn().getHeaders();
>> >                        Set keys = map.keySet();
>> >                        for (Object key : keys) {
>> >                            System.out.println(key + ":" + map.get(key));
>> >                        }
>> >                        System.out.println("received: " +
>> > exchange.getIn().getBody());
>> >
>> >                    }
>> >                });
>> >            }
>> >        };
>> >        try {
>> >            context.addRoutes(routeBuilder);
>> >        } catch (Exception e1) {
>> >            // TODO Auto-generated catch block
>> >            e1.printStackTrace();
>> >        }
>> >
>> >        try {
>> >            context.start();
>> >        } catch (Exception e) {
>> >            e.printStackTrace();
>> >        }
>> >
>> > Nothing prints when running these codes.
>> > Am I doing it right? Or I am missing something here...?
>>
>> No what you are doing is creating an ActiveMQ connection that is for
>> AMQ messaging.
>>
>> What you need to do is using camel-xmpp instead. Camel can auto create
>> all that so basically just do in the route builder
>>
>> from("mpp://localhost:61222/").process ....
>>
>>
>>
>>
>>
>>
>> >
>> > On Mon, Aug 17, 2009 at 7:06 PM, Claus Ibsen <[email protected]>
>> wrote:
>> >
>> >> On Mon, Aug 17, 2009 at 12:59 PM, ELY<[email protected]> wrote:
>> >> >
>> >> > Wow! That was quick. Thanks man, didn't know how generous camel-users
>> >> are.
>> >> >
>> >> > What I really want to do is more on the server side. I wonder if
>> there's
>> >> a
>> >> > lower level way of processing stanzas such as IQ, Message and
>> Presence. I
>> >> am
>> >> > thinking of overriding methods.
>> >> >
>> >>
>> >> Camel uses the Smack API under the belt so whatever you can do with
>> >> that you should be able to do in Camel.
>> >>
>> >> You can get hold of it the Smack Message from
>> >> MmpMessage xmppMessage = (XmpMessage) exchange.getIn();
>> >>
>> >> Message smackMessage = xmpMessage.getMessage();
>> >>
>> >>
>> >> >
>> >> > Claus Ibsen-2 wrote:
>> >> >>
>> >> >> Hi
>> >> >>
>> >> >> Welcome to the Camel ride.
>> >> >>
>> >> >> Yes Camel have a XMPP component
>> >> >> http://camel.apache.org/xmpp
>> >> >>
>> >> >> There are some basic examples/snippet on that page.
>> >> >>
>> >> >>
>> >> >> And someone tested it with Groovy and wrote a little blog how to talk
>> to
>> >> >> gtalk
>> >> >>
>> >>
>> http://www.andrejkoelewijn.com/wp/2009/02/28/groovy-and-grape-easiest-way-to-send-gtalk-message-with-apache-camel/
>> >> >>
>> >> >> Its the same for regular Java.
>> >> >>
>> >> >>
>> >> >> On Mon, Aug 17, 2009 at 11:47 AM, ELY<[email protected]> wrote:
>> >> >>>
>> >> >>> Right now I already have a server application running with an
>> embedded
>> >> >>> ActiveMQ Broker. This application uses my self-made DB for users and
>> >> >>> rooms.
>> >> >>> This server communicates well with clients using JMS.
>> >> >>>
>> >> >>> Now, for interoperability and standardisation, I want to use XMPP
>> for
>> >> >>> communication. I believe this can be done with ActiveMQ and Camel.
>> Does
>> >> >>> anybody knows how? Please help.
>> >> >>>
>> >> >>> Thanks.
>> >> >>> --
>> >> >>> View this message in context:
>> >> >>>
>> http://www.nabble.com/ActiveMQ%2BCamel%2BXMPP-tp25003969p25003969.html
>> >> >>> Sent from the Camel - Users mailing list archive at Nabble.com.
>> >> >>>
>> >> >>>
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Claus Ibsen
>> >> >> Apache Camel Committer
>> >> >>
>> >> >> Open Source Integration: http://fusesource.com
>> >> >> Blog: http://davsclaus.blogspot.com/
>> >> >> Twitter: http://twitter.com/davsclaus
>> >> >>
>> >> >>
>> >> >
>> >> > --
>> >> > View this message in context:
>> >> http://www.nabble.com/ActiveMQ%2BCamel%2BXMPP-tp25003969p25004727.html
>> >> > Sent from the Camel - Users mailing list archive at Nabble.com.
>> >> >
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Claus Ibsen
>> >> Apache Camel Committer
>> >>
>> >> Open Source Integration: http://fusesource.com
>> >> Blog: http://davsclaus.blogspot.com/
>> >> Twitter: http://twitter.com/davsclaus
>> >>
>> >
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>

Reply via email to