Hi I have been trying to use the wsn-http-binding example shipped with Servicemix(SMX) 3.3. As it deployed correctly, but none of the available client examples worked, I started looking in the forum for information. As I found, someone else also had the same problem with SMX 3.3, but said that it worked with SMX 3.1. I tried it and also on SMX 3.2.3, and it worked too, so I am currently using version 3.2.3. My goal is to use the NotificationBroker to accept registrations, subscriptions and notifications from and to external consumers and producers. Using the soapUI example, I have been able to perform subscriptons and notifications correctly, but still haven't managed to invoke * registerPublisher* correctly.
The invocation message is like this: *<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:br="http://docs.oasis-open.org/wsn/br-2" xmlns:add=" http://www.w3.org/2005/08/addressing"> <soapenv:Header/> <soapenv:Body> <br:RegisterPublisher> <br:PublisherReference> <add:Address> http://localhost:8084/NotificationConsumer/NotificationConsumerService/?http.soap=true </add:Address> </br:PublisherReference> <br:Topic Dialect=" http://docs.oasis-open.org/wsn/t-1/TopicExpression/Simple"> myTopic </br:Topic> </br:RegisterPublisher> </soapenv:Body> </soapenv:Envelope>* And the return message: *<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <title>Error 500 org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault: Unable to resolve consumer reference endpoint</title> </head> <body> <h2>HTTP ERROR: 500</h2> <pre>org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault: Unable to resolve consumer reference endpoint</pre> <p>RequestURI=/Broker/</p> <h3>Caused by:</h3> <pre>java.lang.Exception: org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault: Unable to resolve consumer reference endpoint at org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:196) 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:502) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:757) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:371) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:525) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) Caused by: org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault: Unable to resolve consumer reference endpoint at org.apache.servicemix.wsn.jbi.JbiPublisher.validatePublisher(JbiPublisher.java:94) at org.apache.servicemix.wsn.AbstractPublisher.create(AbstractPublisher.java:95) at org.apache.servicemix.wsn.AbstractNotificationBroker.handleRegisterPublisher(AbstractNotificationBroker.java:275) at org.apache.servicemix.wsn.AbstractNotificationBroker.registerPublisher(AbstractNotificationBroker.java:260) 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:597) 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:620) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) 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:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)</pre> <h3>Caused by:</h3> <pre>org.apache.servicemix.wsn.jaxws.PublisherRegistrationFailedFault: Unable to resolve consumer reference endpoint at org.apache.servicemix.wsn.jbi.JbiPublisher.validatePublisher(JbiPublisher.java:94) at org.apache.servicemix.wsn.AbstractPublisher.create(AbstractPublisher.java:95) at org.apache.servicemix.wsn.AbstractNotificationBroker.handleRegisterPublisher(AbstractNotificationBroker.java:275) at org.apache.servicemix.wsn.AbstractNotificationBroker.registerPublisher(AbstractNotificationBroker.java:260) 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:597) 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:620) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) 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:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)</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>* Another issue is when I try subscribing from my JAX-WS web service, as the object of the generated *TopicExpressionType* class always results in a * Topic* label instead of a *TopicExpression* label as in the soapUi example. When I try to insert this object in a *FilterType* object an exception results: *javax.xml.ws.WebServiceException: javax.xml.bind.MarshalException - with linked exception: [com.sun.istack.SAXException2: unable to marshal type "org.oasis_open.docs.wsn.b_2.TopicExpressionType" as an element because it is missing an @XmlRootElement annotation]* I also haven't been able to invoke succesfully the registerPublisher operation from the JAX-WS web service. I would deeply appreciate any kind of help on these issues. Thanks Filipe Campos
