Ok, I've played around with this some more. It looks like there's two issues here....
The first is that the error messages I'm seeing from binding.ws are misleading "- No JMS connection factories are defined.Will not listen for any JMS messages" is not an indication that the SOAP/JMS service is not bound and listening, the service is in fact working. Also, with this second entry, I definitely don't see the jms binding within the generated WSDL, despite the service itself functioning - I've raised TUSCANY-2900 to reflect this. Cheers, Dave. On Tue, Mar 3, 2009 at 7:16 AM, Dave Sowerby <[email protected]> wrote: > Hey Simon, > > Thanks for the reply. > > I've updated my composite to read: > > <service name="HelloWorldService"> > <interface.java interface="helloworld.HelloWorldService" /> > <binding.ws name="SOAPJMSBinding" uri="jms:/..." /> > <binding.ws name="SOAPHTTPBinding" /> > </service> > > Upon startup the node initialisation outputs the following: > > 03-Mar-2009 07:03:00 > org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider start > INFO: Axis2 JMS > URL=jms:/jms/HelloWorldRequestQueue?transport.jms.ConnectionFactoryJNDIName=HelloWorldConnectionFactory&java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory&java.naming.provider.url=t3://localhost:10402 > - Mapping JNDI name : jms/HelloWorldRequestQueue and JMS Destination > name : hwResMod!HelloWorldRequestQueue against service : > jms/HelloWorldRequestQueue > - JMS Transport Receiver (Listener) initialized... > - Connection factory : TuscanyQueueConnectionFactory initialized... > - No JMS connection factories are defined.Will not listen for any JMS messages > 03-Mar-2009 07:03:00 > org.apache.tuscany.sca.host.webapp.WebAppServletHost addServletMapping > INFO: Added Servlet mapping: /helloworld/HelloWorldServiceComponent > - No JMS connection factories are defined.Will not listen for any JMS messages > > From the output it appears that it's getting confused about the > ConnectionFactory still. The ?wsdl service is still available, but > with only one wsdl:binding present in the generated wsdl. > > If I remove the <binding.ws name="SOAPHTTPBinding" /> entry, the > SOAP/JMS service starts absolute fine, without any of the complaints > about the Connection Factory. > > Any ideas? > > Cheers, > > Dave. > > > On Mon, Mar 2, 2009 at 6:26 PM, Simon Laws <[email protected]> wrote: >> >> >> On Mon, Mar 2, 2009 at 5:41 PM, Dave Sowerby <[email protected]> wrote: >>> >>> Hi all, >>> >>> I have a functional service which is already accessible with >>> binding.ws, I'd like to make the same service available with SOAP/JMS >>> too. >>> >>> I've tried this (as an example) with helloworld-ws-reference-jms by >>> changing the service tag as follows: >>> >>> <service name="HelloWorldService"> >>> <interface.java interface="helloworld.HelloWorldService" /> >>> <binding.ws uri="jms:/..." /> >>> <binding.ws /> >>> </service> >>> >>> When I attempt to start this, I get the following error: >>> >>> WARNING: Multiple bindings with the same name for a service: Service = >>> HelloWorldService Binding name = HelloWorldService >>> >>> Then I get the JMS bound service attempting to start but issues then >>> occur whilst it attempts to locate the Connection Factory. In the end >>> the only service which is available is the SOAP/HTTP service, so that >>> I can see the service running and the wsdl in the usual ?wsdl URI. >>> >>> This behaviour leads me to believe that multiple bindings of the same >>> type cannot be used - is this so? Ideally I'd like to have the two >>> bindings from the same service - I'd hope to see both bindings in the >>> generated wsdl. >>> >>> Does anyone have any thoughts on whether this should work? >>> >>> Cheers, >>> >>> Dave. >> >> HI Dave >> >> This should work but the spec defined rules for how the bindings are named >> and hence distinguished. This kicks in when multiple bindings share the same >> scheme which doesn't appear the case here. So we'll have to have a look at >> how the binding name is being calculated as it would appear that they are >> both adopting the default which is the service name. Can you try giving the >> bindings an explicit name="" attribute with different names and see what >> happens. >> >> Regards >> >> Simon >> >
