Hi Guillaume,
Charles is integrating the BPEL engine Bull has developped as part of
its SOA offer. We are considering putting it to open source. Do you
think that it would be good idea ? Would that be something that would
interest ServiceMix ?
Regards,
Goulven
Guillaume Nodet wrote:
Hi Charles !
If I recall, you use the servicemix-common.
In this case, you just have to add some endpoint to the service unit
that the deployer creates.
These endpoints must override the activate method to register the jbi
endpoint in the NMR.
Take a look at
http://svn.apache.org/viewcvs.cgi/incubator/servicemix/trunk/servicemix-jsr181/src/main/java/org/apache/servicemix/jsr181/Jsr181Endpoint.java?rev=374053&view=markup
In the case you do not use servicemix-common, you have
to manually register the jbi endpoint using
ComponentContext.activateEndpoint(service, endpoint)
Btw, i'm curious to know which bpel engine you are integrating...
Could you please tell me ?
Also, would you consider open sourcing this component ?
Cheers,
Guillaume Nodet
Charles Souillard wrote:
Hi all,
I have writen a Service Engine for my app and I have deployed it into
SM.
I have deployed a SA composed of two SUs.
I can use the JMX console to verify my component is well installed
and my two SU well deployed into my component.
I am now trying to call one of the two services I exposed in my SA
but I get the following exception (see under)
I probably missed to inform the NMR of my services deployment.
Which code do I have to add ? where ?
I had a look into SM http and SM wsn but I didn't discover the problem.
Can you help me ?
I am using Sun JDK 1.5 and SM svn head of this morning.
Thanks a lot for your answers,
Charles
INFO - DeliveryChannelImpl.createExchangeFactory(162) | default
destination serviceName for myComponent =
{urn:echo:bpel:bsoap}EchoServiceBP
INFO - DeliveryChannelImpl.createExchangeFactory(172) | default
destination operationName for myComponent =
{http://xbean.org/schemas/spring/1.0}echo
INFO - DeliveryChannelImpl.createExchangeFactory(177) | default
destination endpointName for myComponent = echoPT
WARN - DeliveryChannelImpl.createExchangeFactory(194) | Could not
find destination endpoint for myComponent
service({urn:echo:bpel:bsoap}EchoServiceBP) with endpointName echoPT
WARN - Broker.resolveAddress(337) | ServiceName
({urn:echo:bpel:bsoap}EchoServiceBP) specified for routing, but can't
find it registered
ERROR - JmsServiceComponent.onMessage(248) | Failed to process
inbound JMS Message: ActiveMQTextMessage {commandId = 7,
responseRequired = true, messageId =
ID:frec445363-37477-1139500102721-0:0:1:1:1, originalDestination =
null, originalTransactionId = null, producerId =
ID:frec445363-37477-1139500102721-0:0:1:1, destination =
topic://demo.org.servicemix.source, transactionId = null, expiration
= 0, timestamp = 1139500103080, arrival = 0, correlationId = null,
replyTo = temp-topic://ID:frec445363-37477-1139500102721-0:0:1,
persistent = true, type = null, priority = 4, groupID = null,
groupSequence = 0, targetConsumerId = null, compressed = false,
userID = null, content = null, marshalledProperties = null,
dataStructure = null, redeliveryCounter = 0, text = <?xml
version="1.0" encoding="UTF-8"?><echoString>coucouBoy</echoString>}
javax.jbi.messaging.MessagingException: Failed to resolve endpoint:
org.apache.servicemix.jbi.NoServiceAvailableException: Cannot find an
instance of the service: {urn:echo:bpel:bsoap}EchoServiceBP
at
org.apache.servicemix.jbi.nmr.Broker.resolveAddress(Broker.java:360)
at
org.apache.servicemix.jbi.nmr.Broker.sendExchangePacket(Broker.java:280)
at
org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:609)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:362)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:436)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.sendSync(DeliveryChannelImpl.java:413)
at
org.apache.servicemix.components.jms.JmsServiceComponent.onMessage(JmsServiceComponent.java:213)
at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:716)
at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:93)
at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:146)
at
org.apache.activemq.thread.SimpleTaskRunner.runTask(SimpleTaskRunner.java:110)
at
org.apache.activemq.thread.SimpleTaskRunner.access$100(SimpleTaskRunner.java:25)
at
org.apache.activemq.thread.SimpleTaskRunner$1.run(SimpleTaskRunner.java:43)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:643)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:668)
at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.servicemix.jbi.NoServiceAvailableException:
Cannot find an instance of the service:
{urn:echo:bpel:bsoap}EchoServiceBP
at
org.apache.servicemix.jbi.resolver.ServiceAndEndpointNameResolver.createServiceUnavailableException(ServiceAndEndpointNameResolver.java:75)
at
org.apache.servicemix.jbi.resolver.EndpointResolverSupport.resolveEndpoint(EndpointResolverSupport.java:39)
at
org.apache.servicemix.jbi.nmr.Broker.resolveAddress(Broker.java:357)
... 15 more