I think the problem is that your PullPoint address is not valid. http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-1458-1190728484567-8-0/ it would mean the endpoint is accessible using http at servicemix.org, whereas I think you mean endpoint:http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-1458-1190728484567-8-0 which would be translated to " a jbi endpoint with service qname {http://servicemix.org/wsnotification}PullPoint and endpoint name ID-arcmap15-1458-1190728484567-8-0 which sounds much better.
On 9/25/07, Ryan Moquin <[EMAIL PROTECTED]> wrote: > Ok, so I must still be missing something and I'm guessing it's with my wsa > address. Here are the wsn services I have deployed: > > > - > http://localhost:8199/NotificationBroker/<http://localhost:8199/NotificationBroker/?wsdl> > - > http://localhost:8199/CreatePullPoint/<http://localhost:8199/CreatePullPoint/?wsdl> > > Here are the requests and responses (the notifications as I said are done > by a component on the bus) as I send from SoapUI: > > CreatePullPoint Request to http://localhost:8199/CreatePullPoint/ > > <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> > <env:Header /> > <env:Body> > <wsnt:CreatePullPoint > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" /> > </env:Body> > </env:Envelope> > > > CreatePullPointResponse: > > <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> > <env:Body> > <ns4:CreatePullPointResponse xmlns:ns2=" > http://www.w3.org/2005/08/addressing" xmlns:ns3=" > http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns4=" > http://docs.oasis-open.org/wsn/b-2" xmlns:ns5=" > http://docs.oasis-open.org/wsn/t-1"> > <ns4:PullPoint> > <ns2:Address> > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-1458-1190728484567-8-0 > </ns2:Address> > </ns4:PullPoint> > </ns4:CreatePullPointResponse> > </env:Body> > </env:Envelope> > > -------------------------------------------------------------------------------- > > Subscribe request to http://localhost:8199/NotificationBroker/ (with / on > wsa address): > > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa=" > http://www.w3.org/2005/08/addressing"> > <soapenv:Header/> > <soapenv:Body> > <wsnt:Subscribe > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" > xmlns:wsa="http://www.w3.org/2005/08/addressing"> > <wsnt:ConsumerReference> > <wsa:Address> > endpoint: > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-1458-1190728484567-8-0/ > </wsa:Address> > </wsnt:ConsumerReference> > <wsnt:Filter> > <wsnt:TopicExpression Dialect=" > http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple"> > notificationTopic > </wsnt:TopicExpression> > </wsnt:Filter> > </wsnt:Subscribe> > </soapenv:Body> > </soapenv:Envelope> > > Subscribe Response (with endpoint in from of pullpoint url as shown on the > servicemix page): > > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; > charset=ISO-8859-1"/> > <title>Error 500</title> > </head> > <body> > <h2>HTTP ERROR: 500</h2> > <pre>org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault: > Unable to resolve consumer reference endpoint</pre> > <p>RequestURI=/NotificationBroker/</p> > <h3>Caused by:</h3> > <pre>java.lang.Exception: > org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault: Unable to > resolve consumer reference endpoint > at org.apache.servicemix.http.processors.ConsumerProcessor.process( > ConsumerProcessor.java:195) > at org.apache.servicemix.http.HttpBridgeServlet.doPost( > HttpBridgeServlet.java:71) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java > :487) > at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java > :362) > at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java > :712) > at org.mortbay.jetty.handler.ContextHandlerCollection.handle( > ContextHandlerCollection.java:211) > at org.mortbay.jetty.handler.HandlerCollection.handle( > HandlerCollection.java:114) > at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java > :139) > at org.mortbay.jetty.Server.handle(Server.java:313) > at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java > :506) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375) > at org.mortbay.io.nio.SelectChannelEndPoint.run( > SelectChannelEndPoint.java:396) > at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run( > SelectChannelConnector.java:511) > at org.mortbay.thread.BoundedThreadPool$PoolThread.run( > BoundedThreadPool.java:442) > Caused by: org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault: > Unable to resolve consumer reference endpoint > at org.apache.servicemix.wsn.jbi.JbiSubscription.validateSubscription( > JbiSubscription.java:88) > at org.apache.servicemix.wsn.AbstractSubscription.create( > AbstractSubscription.java:277) > at org.apache.servicemix.wsn.AbstractNotificationBroker.handleSubscribe( > AbstractNotificationBroker.java:178) > at org.apache.servicemix.wsn.AbstractNotificationBroker.subscribe( > AbstractNotificationBroker.java:163) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.servicemix.wsn.component.WSNEndpoint.process( > WSNEndpoint.java:143) > at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess( > AsyncBaseLifeCycle.java:538) > at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange( > AsyncBaseLifeCycle.java:490) > at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange( > BaseLifeCycle.java:46) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound( > DeliveryChannelImpl.java:610) > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting( > AbstractFlow.java:170) > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting( > SedaFlow.java:167) > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( > SedaQueue.java:134) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( > ThreadPoolExecutor.java:650) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595)</pre> > <h3>Caused by:</h3> > <pre>org.apache.servicemix.wsn.jaxws.SubscribeCreationFailedFault: > Unable to resolve consumer reference endpoint > at org.apache.servicemix.wsn.jbi.JbiSubscription.validateSubscription( > JbiSubscription.java:88) > at org.apache.servicemix.wsn.AbstractSubscription.create( > AbstractSubscription.java:277) > at org.apache.servicemix.wsn.AbstractNotificationBroker.handleSubscribe( > AbstractNotificationBroker.java:178) > at org.apache.servicemix.wsn.AbstractNotificationBroker.subscribe( > AbstractNotificationBroker.java:163) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.servicemix.wsn.component.WSNEndpoint.process( > WSNEndpoint.java:143) > at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess( > AsyncBaseLifeCycle.java:538) > at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange( > AsyncBaseLifeCycle.java:490) > at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange( > BaseLifeCycle.java:46) > at > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound( > DeliveryChannelImpl.java:610) > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting( > AbstractFlow.java:170) > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting( > SedaFlow.java:167) > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( > SedaQueue.java:134) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( > ThreadPoolExecutor.java:650) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595)</pre> > <p> > <i> > <small> > <a href="http://jetty.mortbay.org/">Powered by Jetty://</a> > </small> > </i> > </p> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > <br/> > </body> > </html> > > ----------------------------------------------------------------------------------- > > Subscribe without endpoint in the wsa address for the pullpoint (and with / > on wsa address): > > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa=" > http://www.w3.org/2005/08/addressing"> > <soapenv:Header/> > <soapenv:Body> > <wsnt:Subscribe > xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" > xmlns:wsa="http://www.w3.org/2005/08/addressing"> > <wsnt:ConsumerReference> > <wsa:Address> > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-1458-1190728484567-8-0/ > </wsa:Address> > </wsnt:ConsumerReference> > <wsnt:Filter> > <wsnt:TopicExpression Dialect=" > http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple"> > notificationTopic > </wsnt:TopicExpression> > </wsnt:Filter> > </wsnt:Subscribe> > </soapenv:Body> > </soapenv:Envelope> > > Subscribe response without endpoint in the wsa address: > > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> > <soapenv:Body> > <ns4:SubscribeResponse xmlns:ns2="http://www.w3.org/2005/08/addressing" > xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2" xmlns:ns4=" > http://docs.oasis-open.org/wsn/b-2" xmlns:ns5=" > http://docs.oasis-open.org/wsn/t-1" xmlns:ns6=" > http://docs.oasis-open.org/wsn/br-2"> > <ns4:SubscriptionReference> > <ns2:Address> > http://servicemix.org/wsnotification/Subscription/ID-arcmap15-1458-1190728484567-6-1 > </ns2:Address> > </ns4:SubscriptionReference> > <ns4:TerminationTime xsi:nil="true" xmlns:xsi=" > http://www.w3.org/2001/XMLSchema-instance"/> > </ns4:SubscribeResponse> > </soapenv:Body> > </soapenv:Envelope> > > At this point my service is sending notifications to: > > DEBUG - SedaQueue - > [EMAIL PROTECTED] dequeued > exchange: In > Only[ > id: ID:10.40.16.154-1153cf2d126-20:0 > status: Error > role: consumer > endpoint: > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-1458-1190728484567-8-0/ > > and erroring out with 302s, but I put slashes at the end. The only > difference between what I did and what's on the servicemix page with the > scenario is that I didn't use endpoint because the subscribe doesn't work > with endpoint in the address (I'm assuming that's only needed when > subscribing from inside servicemix?). > > Do you see anything wrong with the above exchange? > On 9/25/07, Ryan Moquin <[EMAIL PROTECTED]> wrote: > > > > Oh shoot, you know what? The pullpoint address doesn't have a slash, for > > some reason I didn't think it applied there since it wasn't given that way > > and because I'm not sending the request to it directly. I figured > > http://localhost:8192/NotificationBroker/ and things like that were what > > was needed, I'm positive that's it. > > > > I really appreciate how helpful (and patient since I know I've posted a > > few dumb questions) you guys are on this list. It's a luxury I'm not used > > to! > > > > On 9/25/07, Guillaume Nodet <[EMAIL PROTECTED]> wrote: > > > > > > 302 is the http error code that is usually sent by servicemix when the > > > uri used does not have a trailing '/'. Check your pullpoint address > > > maybe ? > > > > > > On 9/25/07, Ryan Moquin < [EMAIL PROTECTED]> wrote: > > > > I'm still trying to get the Notifications to work in servicemix, I > > > seem to > > > > keep running into weird problems that lead me to think I'm not > > > configuring > > > > something correctly. So here is my scenario: > > > > > > > > I have a thread that runs in a CXF service which creates a > > > > NotificationBroker like this: > > > > > > > > ClientFactory factory = (ClientFactory) new InitialContext().lookup( > > > > ClientFactory.DEFAULT_JNDI_NAME ); > > > > this.client = factory.createClient(); > > > > ((DefaultServiceMixClient) this.client).setMarshaler(new > > > > JAXBMarshaler(jaxbContext)); > > > > > > > > this.wsnBroker = new NotificationBroker(client); > > > > > > > > > > > > It publishes notifications such as the following, which initially seem > > > to be > > > > fine (No pullpoints are created yet, so it appears it's published > > > straight > > > > to the broker): > > > > > > > > DEBUG - SedaFlow - Called Flow send > > > > DEBUG - DeliveryChannelImpl - Waiting for exchange ID: > > > > 192.168.1.2-1153b25d35b-25:0 (8549ab) to be answered in > > > > DeliveryChannel{ID: 192.168.1.2-1153b25d35b-0:0} from sendSync > > > > DEBUG - SedaQueue - > > > > [EMAIL PROTECTED] dequeued > > > > exchange: In > > > > Only[ > > > > id: ID:192.168.1.2-1153b25d35b-25 :0 > > > > status: Active > > > > role: provider > > > > endpoint: Broker > > > > in: <?xml version="1.0" encoding="UTF-8"?><ns3:Notify xmlns:ns3=" > > > > http://docs.oasis-open.org/wsn/b-2" xmlns="urn://notification.test" > > > > xmlns:ns2="http://www.w3.org/2005/08/addressing" xmlns:ns4=" > > > > http://docs.oasis-open.org/w > > > > srf/bf-2" xmlns:ns5="http://docs.oasis-open.org/wsn/t-1" xmlns:ns6=" > > > > http://docs.oasis-open.org/wsn/br-2"><ns3:Notificatio > > > > > > > nMessage><ns3:Topic>notificationTopic</ns3:Topic><ns3:Message><Notification>... > > > > > > > ] > > > > DEBUG - WSNComponent - Received exchange: status: > > > Active, > > > > role: provider > > > > DEBUG - WSNComponent - Retrieved correlation id: > > > null > > > > DEBUG - AbstractNotificationBroker - Notify > > > > DEBUG - DeliveryChannelImpl - Send ID: > > > 192.168.1.2-1153b25d35b-25:0 > > > > in DeliveryChannel{servicemix-wsn2005} > > > > > > > > > > > > So then I create a pullpoint, and create a subscription to the > > > pullpoint > > > > with plain soap messages from soapUI. I receive the responses back I > > > would > > > > expect, but now I start getting errors on each notification. The > > > pullpoint > > > > for this example that I created and then subscribed to is this: > > > > > > > > > > > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-3199-1190698261218-8-0 > > > > > > > > I can access the pullpoint and attempt to retrieve messages, but the > > > > response is always empty. So it appears that's fine. Now the > > > notifications > > > > start looking like this: > > > > > > > > DEBUG - DeliveryChannelImpl - Notifying exchange ID: > > > > 192.168.1.2-1153b403626-25 :3(1fb03f0) in DeliveryChannel{I > > > > D:192.168.1.2-1153b403626-0:0} from processInboundSynchronousExchange > > > > DEBUG - DeliveryChannelImpl - Notified: ID: > > > > 192.168.1.2-1153b403626-25:3(1fb03f0) in DeliveryChannel{ID: 192.168 > > > > .1.2-1153b403626-0:0} from sendSync > > > > DEBUG - DeliveryChannelImpl - Send ID: > > > 192.168.1.2-1153b403626-20:0 > > > > in DeliveryChannel{servicemix-wsn2005} > > > > DEBUG - SedaFlow - Called Flow send > > > > DEBUG - SedaQueue - > > > > [EMAIL PROTECTED] dequeued > > > > exchange: In > > > > Only[ > > > > id: ID:192.168.1.2-1153b403626-20:0 > > > > status: Active > > > > role: provider > > > > endpoint: > > > > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-3199-1190698261218-8-0 > > > > > > > in: <?xml version="1.0" encoding="UTF-8"?><ns2:Notify xmlns:ns2=" > > > > http://docs.oasis-open.org/wsn/b-2" xmlns=" http://www. > > > > w3.org/2005/08/addressing" > > > > xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2 > > > " > > > > xmlns:ns4="http://docs.oasis-open.org/wsn/t-1 > > > > > > > "><ns2:NotificationMessage><ns2:Topic>notificationTopic</ns2:Topic><ns2:Message><Notification>... > > > > > > > ] > > > > WARN - DeliveryChannelImpl - Error calling listener: null > > > > java.lang.NullPointerException > > > > at > > > > > > > org.apache.servicemix.jbi.monitoring.StatisticsService.onExchangeAccepted( > > > > StatisticsService.java:307) > > > > at > > > > > > > org.apache.servicemix.jbi.monitoring.StatisticsService$3.exchangeAccepted > > > ( > > > > StatisticsService.java:186) > > > > at > > > > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound( > > > > DeliveryChannelImpl.java:598) > > > > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting( > > > > AbstractFlow.java:170) > > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting( > > > > SedaFlow.java:167) > > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( > > > > SedaQueue.java:134) > > > > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( > > > > ThreadPoolExecutor.java :650) > > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > > > > ThreadPoolExecutor.java:675) > > > > at java.lang.Thread.run(Thread.java:595) > > > > DEBUG - HttpComponent - Received exchange: status: > > > Active, > > > > role: provider > > > > DEBUG - HttpComponent - Retrieved correlation id: > > > null > > > > ERROR - HttpComponent - Error processing exchange > > > InOnly[ > > > > id: ID:192.168.1.2-1153b403626-20 :0 > > > > status: Active > > > > role: provider > > > > endpoint: > > > > http://servicemix.org/wsnotification/PullPoint/ID-arcmap15-3199-1190698261218-8-0 > > > > > > > in: <?xml version="1.0" encoding="UTF-8"?><ns2:Notify xmlns:ns2=" > > > > http://docs.oasis-open.org/wsn/b-2" xmlns=" http://www. > > > > w3.org/2005/08/addressing" > > > > xmlns:ns3="http://docs.oasis-open.org/wsrf/bf-2 > > > " > > > > xmlns:ns4="http://docs.oasis-open.org/wsn/t-1 > > > > > > > "><ns2:NotificationMessage><ns2:Topic>notificationTopic</ns2:Topic><ns2:Message><Notification>... > > > > > > > ] > > > > java.lang.Exception: Invalid status response: 302 > > > > at > > > org.apache.servicemix.http.processors.ProviderProcessor.process( > > > > ProviderProcessor.java:179) > > > > at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess ( > > > > AsyncBaseLifeCycle.java:538) > > > > at > > > org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange( > > > > AsyncBaseLifeCycle.java:490) > > > > at > > > org.apache.servicemix.common.BaseLifeCycle.onMessageExchange ( > > > > BaseLifeCycle.java:46) > > > > at > > > > org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound > > > ( > > > > DeliveryChannelImpl.java:610) > > > > at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting ( > > > > AbstractFlow.java:170) > > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting( > > > > SedaFlow.java:167) > > > > at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run( > > > > SedaQueue.java:134) > > > > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask( > > > > ThreadPoolExecutor.java:650) > > > > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > > > > ThreadPoolExecutor.java :675) > > > > at java.lang.Thread.run(Thread.java:595) > > > > DEBUG - DeliveryChannelImpl - Send ID: > > > 192.168.1.2-1153b403626-20:0 > > > > in DeliveryChannel{servicemix-http} > > > > > > > > So my question is, what are the Exceptions that are giving the > > > 302s? I > > > > retrieved a pullpoint successfully and created a subscription to it, > > > so I > > > > can't think that would be the problem.... might notifications not work > > > > correctly with CXF? > > > > > > > > > > > > > -- > > > Cheers, > > > Guillaume Nodet > > > ------------------------ > > > Blog: http://gnodet.blogspot.com/ > > > > > > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
