Petals BC JMS

Support of the message type 'MapMessage'

Details

  • Type: Improvement Request Improvement Request
  • Status: New New
  • Priority: Blocker Blocker
  • Resolution: Unresolved
  • Affects Version/s: 3.1.1
  • Fix Version/s: None
  • Component/s: None
  • Security Level: Public
  • Description:

    The BC JMS should be able to consume services from a MapMessage.

    The XML body of the service to invoke will be generate from:

    • an XSL stylesheet provided by the SU,
    • properties of the MapMessage are set as parameters of the XSL.
  • Environment:
    -
  1. mapmessage.patch
    (13 kB)
    Christophe DENEUX
    Mon, 27 Sep 2010 - 15:49:37 +0200
  2. petals-bc-jms-3.1.2-SNAPSHOT.zip
    (4.99 MB)
    Christophe DENEUX
    Mon, 27 Sep 2010 - 16:00:44 +0200

Activity

Hide
Christophe DENEUX added a comment - Mon, 27 Sep 2010 - 15:49:37 +0200

A first patch implementing this new feature as prototype.

Show
Christophe DENEUX added a comment - Mon, 27 Sep 2010 - 15:49:37 +0200 A first patch implementing this new feature as prototype.
Christophe DENEUX made changes - Mon, 27 Sep 2010 - 15:49:37 +0200
Field Original Value New Value
Attachment mapmessage.patch [ 10328 ]
Hide
Christophe DENEUX added a comment - Mon, 27 Sep 2010 - 15:57:32 +0200

The patch needs to add a new configuration parameter to the SU jbi descriptor: 'xsl'

<jbi:consumes interface-name="generatedNs:JMSService" service-name="generatedNs:JMSService" endpoint-name="JMSServiceSOAP">

	<!-- CDK specific elements -->
	<petalsCDK:timeout>30000</petalsCDK:timeout>
	<petalsCDK:mep>InOut</petalsCDK:mep>

	<!-- Component specific elements -->	
	<jms:jndi-provider-url>tcp://localhost:61616</jms:jndi-provider-url>
	<jms:jndi-initial-context-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</jms:jndi-initial-context-factory>
	<jms:jndi-destination-name>dynamicQueues/FOO.BAR</jms:jndi-destination-name>
	<jms:jndi-connection-factory>QueueConnectionFactory</jms:jndi-connection-factory>
	<jms:operation>{http://petals.ow2.org/}event</jms:operation>
	<jms:transacted>false</jms:transacted>
	<jms:xsl>myXsl.xsl</jms:xsl>
</jbi:consumes>

And to the SU a XSL stylesheet declaring parameters to use properties of the MapMessage:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	
	<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
	<xsl:param name="myShort">1</xsl:param>
	<xsl:param name="myInt">2</xsl:param>
	<xsl:param name="myString">A</xsl:param>

	<xsl:template match="/">
		<xsl:element name="root">
			<xsl:attribute name="id">
				<xsl:value-of select="$myShort" />
			</xsl:attribute>
			<xsl:element name="name">
				<xsl:value-of select="$myInt" />
			</xsl:element>
			<xsl:element name="area">
				<xsl:value-of select="$myString" />
			</xsl:element>	
		</xsl:element>
	</xsl:template>

</xsl:stylesheet>

This XSL should be into the directory 'jbi' of the source code tree.

Show
Christophe DENEUX added a comment - Mon, 27 Sep 2010 - 15:57:32 +0200 The patch needs to add a new configuration parameter to the SU jbi descriptor: 'xsl'
<jbi:consumes interface-name="generatedNs:JMSService" service-name="generatedNs:JMSService" endpoint-name="JMSServiceSOAP">

	<!-- CDK specific elements -->
	<petalsCDK:timeout>30000</petalsCDK:timeout>
	<petalsCDK:mep>InOut</petalsCDK:mep>

	<!-- Component specific elements -->	
	<jms:jndi-provider-url>tcp://localhost:61616</jms:jndi-provider-url>
	<jms:jndi-initial-context-factory>org.apache.activemq.jndi.ActiveMQInitialContextFactory</jms:jndi-initial-context-factory>
	<jms:jndi-destination-name>dynamicQueues/FOO.BAR</jms:jndi-destination-name>
	<jms:jndi-connection-factory>QueueConnectionFactory</jms:jndi-connection-factory>
	<jms:operation>{http://petals.ow2.org/}event</jms:operation>
	<jms:transacted>false</jms:transacted>
	<jms:xsl>myXsl.xsl</jms:xsl>
</jbi:consumes>
And to the SU a XSL stylesheet declaring parameters to use properties of the MapMessage:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	
	<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
	<xsl:param name="myShort">1</xsl:param>
	<xsl:param name="myInt">2</xsl:param>
	<xsl:param name="myString">A</xsl:param>

	<xsl:template match="/">
		<xsl:element name="root">
			<xsl:attribute name="id">
				<xsl:value-of select="$myShort" />
			</xsl:attribute>
			<xsl:element name="name">
				<xsl:value-of select="$myInt" />
			</xsl:element>
			<xsl:element name="area">
				<xsl:value-of select="$myString" />
			</xsl:element>	
		</xsl:element>
	</xsl:template>

</xsl:stylesheet>
This XSL should be into the directory 'jbi' of the source code tree.
Hide
Christophe DENEUX added a comment - Mon, 27 Sep 2010 - 16:00:44 +0200

The BC JMS including the feature

Show
Christophe DENEUX added a comment - Mon, 27 Sep 2010 - 16:00:44 +0200 The BC JMS including the feature
Christophe DENEUX made changes - Mon, 27 Sep 2010 - 16:00:44 +0200
Attachment petals-bc-jms-3.1.2-SNAPSHOT.zip [ 10329 ]
Christophe DENEUX made changes - Tue, 21 Dec 2010 - 16:44:18 +0100
Priority Blocker [ 1 ]
Description The BC JMS should be able to consume services from a MapMessage.

The XML body of the service to invoke will be generete from:
   - an XSL stylesheet provided by the SU,
   - properties of the MapMessage are set as parameters of the XSL.
The BC JMS should be able to consume services from a MapMessage.

The XML body of the service to invoke will be generate from:
   - an XSL stylesheet provided by the SU,
   - properties of the MapMessage are set as parameters of the XSL.

People

Dates

  • Created:
    Mon, 27 Sep 2010 - 15:48:03 +0200
    Updated:
    Tue, 21 Dec 2010 - 16:44:18 +0100