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