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
>