On 7/24/07, ant elder <[EMAIL PROTECTED]> wrote:

On 7/24/07, Mike Edwards <[EMAIL PROTECTED]> wrote:
>
> Simon Laws wrote:
> > Has anyone in Tuscany made a binding that ships SOAP messages over JMS
> > instead of HTTP? Looking at the current code base and at the old code
in
> > the
> > sandbox I don't see anything.
> >
> > Simon
> >
>
> Simon,
>
> Shouldn't this be a "simple" extension of the Web services binding?
>
> The interesting question is how to indicate that a JMS transport should
> be used instead of HTTP.  The spec only allows for this to be done via
> WSDL at the moment - not so good if you didn't want to create the WSDL
> yourself.
>
> How about the idea of adding an intent for the Web services binding
> which can be used to indicate the transport??
>
> eg:
>
>
> transport.http = use the HTTP transport (default)
> transport.jms  = use the JMS transport
> transport.foo  = use the foo transport....
>
> The Web services binding can indicate which of these intents it supports
>   - since that depends on the support being available in the Web
> services stack that you are using.


Couldn't this just use the existing Axis2 facilities, the soap/jms uri
format and be done with the scdl binding uri attribute, eg:

<binding.wsuri=
"jms:/dynamicTopics/something.TestTopic?transport.jms.ConnectionFactoryJNDIName=TopicConnectionFactory&java.naming.factory.initial=

org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&java.naming.security.principal=system&java.naming.security.credentials=manager
"
/>

   ...ant


This provides a useable optional way of providing this information and a
convenient way to start. It would seem a little odd, though, that the JMS
binding lays all this out:

* <binding.jms correlationScheme="string"?
*              initialContextFactory="xs:anyURI"?
*              jndiURL="xs:anyURI"?
*              requestConnection="QName"?
*              responseConnection="QName"?
*              operationProperties="QName"?
*              ...>
*
*     <destination name="xs:anyURI" type="string"? create="string"?>
*         <property name="NMTOKEN" type="NMTOKEN">*
*     </destination>?
*
*     <connectionFactory name="xs:anyURI" create="string"?>
*         <property name="NMTOKEN" type="NMTOKEN">*
*     </connectionFactory>?
*
*     <activationSpec name="xs:anyURI" create="string"?>
*         <property name="NMTOKEN" type="NMTOKEN">*
*     </activationSpec>?
*
*     <response>
*         <destination name="xs:anyURI" type="string"? create="string"?>
*             <property name="NMTOKEN" type="NMTOKEN">*
*         </destination>?
*
*         <connectionFactory name="xs:anyURI" create="string"?>
*             <property name="NMTOKEN" type="NMTOKEN">*
*         </connectionFactory>?
*
*         <activationSpec name="xs:anyURI" create="string"?>
*             <property name="NMTOKEN" type="NMTOKEN">*
*         </activationSpec>?
*     </response>?
*
*     <resourceAdapter name="NMTOKEN">?
*         <property name="NMTOKEN" type="NMTOKEN">*
*     </resourceAdapter>?
*
*     <headers JMSType="string"?
*              JMSCorrelationId="string"?
*              JMSDeliveryMode="string"?
*              JMSTimeToLive="int"?
*              JMSPriority="string"?>
*         <property name="NMTOKEN" type="NMTOKEN">*
*     </headers>?
*
*     <operationProperties name="string" nativeOperation="string"?>
*         <property name="NMTOKEN" type="NMTOKEN">*
*         <headers JMSType="string"?
*                  JMSCorrelationId="string"?
*                  JMSDeliveryMode="string"?
*                  JMSTimeToLive="int"?
*                  JMSPriority="string"?>
*             <property name="NMTOKEN" type="NMTOKEN">*
*         </headers>?
*     </operationProperties>*
* </binding.jms>

if the only way to provide it for SOAP/JMS is through the URI.

Simon

Reply via email to