0 Replies Latest reply on Mar 4, 2010 4:42 PM by jbgill

    problems invoking a BPEL process over NMR

    jbgill

      Hi everyone,

       

      I am new to ServiceMix and FUSE.  As a proof-of-concept, I am trying to invoke a BPEL process over the NMR via a JAX-WS client, but am running into some problems.  (I am attempting this on 4.2.0).

       

      I have a simple BPEL process deployed in a service assembly by itself with an endpoint on the NMR.  In the shell, nmr:list shows the following entry for this endpoint:

       

      HelloRPCService:HelloPort

       

      For the client, I am building a CXF web service which calls the bpel.  I based this project on the cxf-osgi example.  I have attached the modified beans.xml from this project.  I have successfully built and deployed this project and am able to call into the injected client proxy which is supposed to invoke the bpel endpoint over the NMR.  But instead, I get the following exception in the log file.  It seems to indicate that it can't find the matching endpoint.  What am I doing wrong?  Is it the addressing of the bpel endpoint in the beans.xml?  I am not able to find anything helpful in my searches of the documentation and other web sites.  Here's the excerpt fro the log file:

       

      14:16:56,541 | INFO  | 66@qtp-1613992-0 | NMRConduitOutputStream           | sport.nmr.NMRConduitOutputStream   91 | invoking service   interface wsdl.rpc.helloworld2.HelloPortType

      14:16:56,542 | INFO  | 66@qtp-1613992-0 | NMRConduitOutputStream           | sport.nmr.NMRConduitOutputStream  103 | create message exchange svc:       HelloRPCService

      14:16:56,542 | INFO  | 66@qtp-1613992-0 | NMRConduitOutputStream           | sport.nmr.NMRConduitOutputStream  114 | exchange endpoint: HelloRPCService               

      14:16:56,542 | INFO  | 66@qtp-1613992-0 | NMRConduitOutputStream           | sport.nmr.NMRConduitOutputStream  115 | setup message contents on Message []                                        

      14:16:56,543 | INFO  | 66@qtp-1613992-0 | NMRConduitOutputStream           | sport.nmr.NMRConduitOutputStream  117 | service for exchange HelloRPCService             

      14:16:56,543 | INFO  | 66@qtp-1613992-0 | NMRConduitOutputStream           | sport.nmr.NMRConduitOutputStream  125 | sending message                                                             

      14:16:56,543 | WARN  | 66@qtp-1613992-0 | NMR                              | .servicemix.nmr.core.ChannelImpl  293 | Error processing exchange [                                                 

        id:        78d1d4fb-8b20-489b-93fa-a202db45a03d                                                                               

      mep:       InOut                                                                               

      status:    Active                                                                               

      role:      Consumer                                                                               

      target:    PropertyMatchingReference[{INTERFACE_NAME={urn:/HelloWorld2-RPC.wsdl}HelloPortType, SERVICE_NAME=HelloRPCService}]                                       

        operation: Hello                                                                               

      In: [                                                                               

      content: javax.xml.transform.stream.StreamSource@1a8692d                                                                               

      ]                                                                               

      ]                                                                               

      org.apache.servicemix.nmr.api.ServiceMixException: Could not dispatch exchange. No matching endpoints.

              at org.apache.servicemix.nmr.core.FlowRegistryImpl.dispatch(FlowRegistryImpl.java:110)       

              at org.apache.servicemix.nmr.core.ChannelImpl.dispatch(ChannelImpl.java:286)                 

              at org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:141)

              at org.apache.servicemix.nmr.core.ChannelImpl.sendSync(ChannelImpl.java:127)

              at org.apache.servicemix.cxf.transport.nmr.NMRConduitOutputStream.commitOutputMessage(NMRConduitOutputStream.java:127)

              at org.apache.servicemix.cxf.transport.nmr.NMRConduitOutputStream.doClose(NMRConduitOutputStream.java:77)

              at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:185)

              at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)

              at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)

              at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)

              at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:484)

              at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:310)

              at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:262)

              at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)

              at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)

              at $Proxy162.hello(Unknown Source)

              at org.apache.servicemix.examples.cxf.HelloWorldImpl.sayHi(HelloWorldImpl.java:35)