Skip to main content

Configuration Issues

ManageDatabase Error on Startup

Problem: Adapter status page shows an error in adapter ManageDatabase about a missing datasource.

Cause: File names are lowercase. For example, deploymentspecifics.properties and configuration.xml instead of the required DeploymentSpecifics.properties and Configuration.xml.

Fix: Correct file names to use proper casing.

Passing XML Parameter to XSLT

Problem: An XSLT transformation parameter of type XML is interpreted as a string.

Fix: Set type="domdoc" on the <Param> element. See the XsltPipe reference for all available attributes:

<XsltPipe
name="transformHermesMessage"
styleSheetName="printBridge.xsl"
omitXmlDeclaration="true"
xsltVersion="2"
getInputFromSessionKey="originalMessage">
<Param
name="statistics"
sessionKey="statistics"
type="domdoc"/>
<Forward name="success" path="sendToPrintBridge"/>
</XsltPipe>

XPath Expression with Null Default Value

Problem: Inserting a table row using FixedQuerySender with an XPath expression and needing null as the default.

Fix: Omit the defaultValue attribute. When the XPath expression finds nothing, the value is null by default.

<Param name="myParam" xpathExpression="/BIJKANT/PK/PK_NUMMER"/>

XmlSwitchPipe "Premature end of file"

Cause: Input message is not valid XML.

XmlSwitchPipe requires valid XML input and applies an XSLT stylesheet to determine the forward. With attribute sessionKey, the pipe uses the session key value directly as the forward without XSLT transformation.

Logging with LogSender

Add logging with <LogSender>. Set logCategory to control the category name (defaults to the sender's name). Output goes to ${instance.name.lc}.log by default.

Filling Adapter Response from Session Key

Use EchoPipe with getInputFromSessionKey to output a session key value as the adapter response.

Adapters Stopped by Default

Use autoStart="false" on the <Adapter> element:

<Adapter name="Adapter1a" autoStart="false">
<Receiver name="Receiver1a">
...
</Receiver>
...
</Adapter>

The adapter starts in stopped state and can be started manually from the Adapter Status page.

Transaction Attribute: Receiver vs Pipeline

Both <Receiver> and <Pipeline> support transactionAttribute.

  • Receiver: Controls transaction for message acceptance (e.g., reading from a queue). If the receiver supports transactions and has transactionAttribute set, the pipeline inherits the transaction.
  • Pipeline: Controls transaction for message processing.

Warning: If a receiver does not support transactions, regardless of transactionAttribute, and there is no transactionAttribute on the pipeline, the pipeline does not inherit a transaction.

Loading Multiple Configurations at Once

Pack all configuration JAR files into a single .zip file. Use the "Multiple Configurations" checkbox in the "Upload Configuration" screen and upload the zip.

Property configurations.<configname>.parentConfig

Changes the file/property lookup order. For each file or property, the framework looks up:

  1. Global setting (classpath resource or environment property)
  2. Local configuration
  3. Parent configuration (if specified)
  4. WAR (src/main/resources)

Iterating Over CSV Files

Use CsvParserPipe (available since version 7.6). For older versions, use BatchFileTransformerPipe.