On 3/7/07, Chilson <[EMAIL PROTECTED]> wrote:
Once I feel like I've actually learned some of this I'll hopefully have
some
time and knowledge to donate to the project :)
I would prefer to register the publisher, but I'll get it working
anonymously first and then reach for the more advanced registration ;)
One step at a time ...
Ok, I can publish anonymously and the subscribed consumers receive the data
properly, except every time I send in a notify message, I get an "illegal
exchange status: done" exception. From what I've searched and found, this
exception occurs when a component is accepting inbound data when it is
outbound only, or sending data when it is inbound only? Or am I off? At
any rate, here is a trace stack of it.
Yeah, you're quite right, the problem comes from a MEP mismatch.
I guess that the servicemix-http BC sends an InOut MEP, but the operation
invoked is an InOnly MEP. This should be checked earlier and reported with
a more understandable error (can you raise a JIRA please ?).
Not sure how you configured your HTTP endpoint, but the problem may come
from the fact that the WSDL is not correctly recognized, so that the
informations
can not be retrieved. Did you use the one from the example in the
distribution ?
What request did you send ?
Caused by:java.lang.Exception: javax.jbi.messaging.MessagingException:
illegal exchange status: done
at
org.apache.servicemix.http.processors.ConsumerProcessor.process(
ConsumerProcessor.java:214)
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:445)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:356)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(
ContextHandlerCollection.java:149)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java
:123)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:269)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java
:333)
at
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java
:270)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java
:475)
Caused by: javax.jbi.messaging.MessagingException: illegal exchange
status:
done
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.handleSend(
MessageExchangeImpl.java:583)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(
DeliveryChannelImpl.java:370)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(
DeliveryChannelImpl.java:417)
at
org.apache.servicemix.wsn.component.WSNEndpoint.process(WSNEndpoint.java
:162)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(
AsyncBaseLifeCycle.java:489)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(
AsyncBaseLifeCycle.java:441)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(
BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(
DeliveryChannelImpl.java:593)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(
AbstractFlow.java:174)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java
:176)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java
:134)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:619)
gnodet wrote:
>
> This is the only documentation we have :-(
> But any help to improve it is welcome ...
>
> So, back to your point.
> Registering a publisher is not mandatory, so you can just publish
> messages to the WS-NotificationBroker and it will use an
> anonymous publisher if not specified.
> If you want to register a publisher, the address supplied in
> the wsa:Address uri must point to a valid JBI endpoint.
> See http://incubator.apache.org/servicemix/uris.html
> for some examples of URIs you can use to represent jbi endpoints.
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Architect, LogicBlaze (http://www.logicblaze.com/)
> Blog: http://gnodet.blogspot.com/
>
>
--
View this message in context:
http://www.nabble.com/WS-Notification-Broker-in-ServiceMix-3.1-not-behaving-as-I-would-expect-tf3351459s12049.html#a9345481
Sent from the ServiceMix - User mailing list archive at Nabble.com.
--
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/