Petals-SE-XSLT 2.10.0+

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (61)

View Page History
{column}

{warning}This version must be installed on [Petals ESB 5.2.0|petalsesb520:Petals 5.3.0|petalsesb530:Petals ESB 5.23.0]+{warning}

{multi-excerpt-include:Petals-SE-XSLT|name=features|nopanel=true}
h2. WSDL definitions

Configurations (service-units) for the XSLT component do not have, in general, a WSDL definition.
However, it is possible to define one which describes the *transform* and "transformToMtomAttachment" operations.
It is recommended to define a WSDL definition which describes the *transform* and "transformToMtomAttachment" operations.

The input and output messages for the *transform* operation are related to the XSL style sheet.
{tip}

h2. JBI descriptor
h2. Service Unit Configuration

The Service-Unit descriptor file ( jbi.xml ) looks like this:
{code:lang=xml}<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<!--
JBI descriptor for the Petals' "petals-se-xslt" component (XSLT).
Originally created for the version 2.5 of the component.
-->
<jbi:jbi version="1.0"
xmlns:generatedNs="http://petals.ow2.org/components/xslt/version-2"
xmlns:jbi="http://java.sun.com/xml/ns/jbi"
xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xslt="http://petals.ow2.org/components/xslt/version-2">
All needed information must be defined in the service-unit JBI descriptor. This JBI descriptor is configured through parameters divided in following groups:
* *JBI parameters* that defines the service provider identification,
* *CDK parameters* that are parameters driving the service provider implementation at CDK layer,
* *CDK interceptor parameters* that are parameters driving interceptors at CDK layer,
* *Dedicated parameters* that are parameters driving the service provider implementation at component layer.

<!-- Import a Service into Petals or Expose a Petals Service => use a BC. -->
<jbi:services binding-component="false">
h3. CDK parameters defining service provider implementation
The following parameters correspond to the CDK configuration of the service provider implementation.

<!-- Import a Service into Petals => provides a Service. -->
<jbi:provides
interface-name="generatedNs:XsltInterface"
service-name="generatedNs:Test"
endpoint-name="TestEndpoint">
{include:0 CDK SU Provide Configuration 5.8.0}

<!-- CDK specific elements -->
<petalsCDK:timeout>30000</petalsCDK:timeout>
<petalsCDK:validate-wsdl>true</petalsCDK:validate-wsdl>
<petalsCDK:forward-security-subject>false</petalsCDK:forward-security-subject>
<petalsCDK:forward-message-properties>false</petalsCDK:forward-message-properties>
<petalsCDK:forward-attachments>false</petalsCDK:forward-attachments>
<petalsCDK:wsdl>XsltService.wsdl</petalsCDK:wsdl>
h3. CDK parameters driving interceptors
The following parameters drive interceptors at CDK layer.

<!-- Component specific elements -->
<xslt:stylesheet>transformation.xsl</xslt:stylesheet>
{include:0 CDK SU Interceptor configuration 5.8.0}

<!-- XSL parameters -->
<generatedNs:xsl-parameters>
<generatedNs:xsl-parameter name="street" overridable="true">
17, rue du Parc
</generatedNs:xsl-parameter>
<generatedNs:xsl-parameter name="city" overridable="false">
Grenoble
</generatedNs:xsl-parameter>
</generatedNs:xsl-parameters>
</jbi:provides>
</jbi:services>
</jbi:jbi>
{code}
h3. Dedicated configuration
The following parameters correspond to the component specific configuration of the service provider implementation.

A JBI descriptor for an XSLT service-unit can only define one _provides_ block.

{include:0 CDK SU Provide Configuration 5.7.0}
\\
{center}{*}Configuration of a Service Unit to provide a service (XSLT)*{center}
{table-plus}
|| Parameter || Description || Default || Required ||
* The *overridable* attribute defines whether this static value can be overriden by a dynamic value (from an incoming message).

{include:0 CDK SU Interceptor configuration}
h3. Service unit content

h2. Service-Unit content
The service unit has to contain the following elements, packaged in the archive:
* the META-INF/jbi.xml descriptor file as described above,
* it is also highly recommended to provide a WSDL description for service provider embedded in the service-unit,
* the XSL style sheet,
* an optional JAR containing custom functions referenced in the XSL style sheet.

The service unit must contain the XSL style sheet.
It is also highly recommended to provide a WSDL description for this service.
This WSDL is not mandatory, but not providing it will prevent your service from interacting with other Petals services and components.
{code}
service-unit.zip
+ META-INF
- jbi.xml (as defined above)
- service.wsdl (recommended)
- xsl-stylesheet.xsl
- customFunctions.jar (optional)
{code}

The archive may also embed a JAR containing the custom functions referenced in the XSL style sheet, if any.
h3. Example

The directory structure of a SU for the Petals-SE-XSLT looks like this:
An example of a Service Unit descriptor to provide an XSLT service:
{code:lang=xml}
<?xml version="1.0" encoding="UTF-8"?>
<jbi:jbi version="1.0"
xmlns:generatedNs="http://petals.ow2.org/components/xslt/version-2"
xmlns:jbi="http://java.sun.com/xml/ns/jbi"
xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xslt="http://petals.ow2.org/components/xslt/version-2">

{noformat}
su-xslt-TransformationName-provide.zip
+ META-INF
- jbi.xml
+ XsltService.wsdl (recommended)
+ <XSL style sheet>.xsl
+ customFunctions.jar (optional)
{noformat}
<jbi:services binding-component="false">

h1. Configuring the component
<jbi:provides
interface-name="generatedNs:XsltInterface"
service-name="generatedNs:Test"
endpoint-name="TestEndpoint">

The component can be configured through its JBI descriptor file, as shown below.
{code:lang=xml}<?xml version="1.0" encoding="UTF-8"?>
<!-- CDK specific elements -->
<jbi <petalsCDK:timeout>30000</petalsCDK:timeout>
version="1.0" <petalsCDK:validate-wsdl>true</petalsCDK:validate-wsdl>
xmlns='http://java.sun.com/xml/ns/jbi' <petalsCDK:forward-security-subject>false</petalsCDK:forward-security-subject>
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' <petalsCDK:forward-message-properties>false</petalsCDK:forward-message-properties>
xmlns:petalsCDK="http://petals.ow2.org/components/extensions/version-5" <petalsCDK:forward-attachments>false</petalsCDK:forward-attachments>
xmlns:xslt="http://petals.ow2.org/components/xslt/version-2"> <petalsCDK:wsdl>XsltService.wsdl</petalsCDK:wsdl>

<component type="service-engine">
<!-- Component specific elements -->
<identification> <xslt:stylesheet>transformation.xsl</xslt:stylesheet>
<name>petals-se-xslt</name>
<description>A Xslt Service Engine</description>
</identification>

<component-class-name description="Xslt Component class">org.ow2.petals.se.xslt.XsltSe</component-class-name>
<!-- XSL parameters -->
<component-class-path><path-element/></component-class-path> <generatedNs:xsl-parameters>
<generatedNs:xsl-parameter name="street" overridable="true">
17, rue du Parc
<bootstrap-class-name>org.ow2.petals.component.framework.DefaultBootstrap</bootstrap-class-name> </generatedNs:xsl-parameter>
<generatedNs:xsl-parameter name="city" overridable="false">
<bootstrap-class-path><path-element/></bootstrap-class-path> Grenoble
</generatedNs:xsl-parameter>
</generatedNs:xsl-parameters>
</jbi:provides>
</jbi:services>
</jbi:jbi>
{code}

<petalsCDK:acceptor-pool-size>3</petalsCDK:acceptor-pool-size>
<petalsCDK:processor-pool-size>10</petalsCDK:processor-pool-size>
<petalsCDK:processor-max-pool-size>50</petalsCDK:processor-max-pool-size>
<petalsCDK:ignored-status>DONE_AND_ERROR_IGNORED</petalsCDK:ignored-status>
<petalsCDK:properties-file></petalsCDK:properties-file>
<petalsCDK:notifications>false</petalsCDK:notifications>
<petalsCDK:jbi-listener-class-name>org.ow2.petals.se.xslt.XsltJBIListener</petalsCDK:jbi-listener-class-name>
</component>
</jbi>{code}
h1. Configuring the component

The component can be configured through the parameters of its JBI descriptor file. These parameters are divided in following groups:
* *JBI parameters* that have not to be changed otherwise the component will not work,
* *CDK parameters* that are parameters driving the processing of the CDK layer,
* *Dedicated parameters* that are parameters specific to this component.

h2. CDK parameters
The component configuration includes the configuration of the CDK. The following parameters correspond to the CDK configuration.

{include:0 CDK Component Configuration Table 5.68.0}
{include:0 CDK Parameter scope}
{include:0 CDK Component Interceptor configuration}

This component does not have any specific configuration parameter.
h2. Interception configuration
{include:0 CDK Component Interceptor configuration 5.8.0}

h2. Dedicated configuration

No dedicated configuration parameter is available.

h1. Business monitoring

h3. Common metrics

{include:0 CDK Component Monitoring Metrics 5.68.0}

h3. Dedicated metrics