You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Filipe Campos <fc...@di.uminho.pt> on 2009/01/27 19:36:51 UTC

wsn-http-binding

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