You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Charles Souillard <Ch...@ext.bull.net> on 2006/02/09 17:12:12 UTC
Service Engine development
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
Re: Service Engine development
Posted by Charles Souillard <Ch...@ext.bull.net>.
Rob,
you can find hereafter my SA descriptor :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<jbi version="1" xsi:schemaLocation="http://java.sun.com/xml/ns/jbi
./jbi.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/jbi">
<service-assembly>
<identification>
<name>BPELSamplesSA</name>
<description>BPEL samples Service Assembly</description>
</identification>
<service-unit>
<identification>
<name>echoSU</name>
<description>Echo sample Service Unit</description>
</identification>
<target>
<artifacts-zip>echoSU.jar</artifacts-zip>
<component-name>Orchestra</component-name>
</target>
</service-unit>
<service-unit>
<identification>
<name>helloworldSU</name>
<description>Helloworld sample Service Unit</description>
</identification>
<target>
<artifacts-zip>helloworldSU.jar</artifacts-zip>
<component-name>Orchestra</component-name>
</target>
</service-unit>
</service-assembly>
</jbi>
Charles
Rob Davies wrote:
> Hi Charles,
>
> could you post the deployment descriptor for your SA so we can check
> the format ? Although the SU is deployed - it's not advertised it's
> endpoint to the container.
> You either have to do this in the SU code itself - or in the
> descriptor for the SA.
>
> cheers,
>
> Rob
>
> On 9 Feb 2006, at 16:12, 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.crea
>> teServiceUnavailableException(ServiceAndEndpointNameResolver.java:75)
>> at
>> org.apache.servicemix.jbi.resolver.EndpointResolverSupport.resolveEndp
>> oint(EndpointResolverSupport.java:39)
>> at org.apache.servicemix.jbi.nmr.Broker.resolveAddress
>> (Broker.java:357)
>> ... 15 more
>
>
>
Re: Service Engine development
Posted by Rob Davies <ra...@gmail.com>.
Hi Charles,
could you post the deployment descriptor for your SA so we can check
the format ? Although the SU is deployed - it's not advertised it's
endpoint to the container.
You either have to do this in the SU code itself - or in the
descriptor for the SA.
cheers,
Rob
On 9 Feb 2006, at 16:12, 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.crea
> teServiceUnavailableException(ServiceAndEndpointNameResolver.java:75)
> at
> org.apache.servicemix.jbi.resolver.EndpointResolverSupport.resolveEndp
> oint(EndpointResolverSupport.java:39)
> at org.apache.servicemix.jbi.nmr.Broker.resolveAddress
> (Broker.java:357)
> ... 15 more
Re: Service Engine development
Posted by Le Jeune Goulven <go...@bull.net>.
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
>>
>>
>
>
Re: Service Engine development
Posted by Guillaume Nodet <gu...@worldonline.fr>.
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
>
>