Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SVC2026.1

...

The location of your Avro schema files is are configured through a Java system property. This can be either the a path to a local directory in which you have saved schemas or the URL of a Confluent Schema Registry.

Code Block
-J-Dcom.parasoft.soavirt.messages.avro.schemas=<PATH_TO_SCHEMA_FOLDER or SCHEMA_REGISTRY_URL>

When specifying a Confluence Confluent Schema Registry, be sure to include full URL (including the http:// or https://).

If your schema requires authentication, you will need to configure the com.parasoft.soavirt.messages.avro.schema.registry.client.properties system property to specify the authentication or certificate information needed when communicating with the Avro Schema Registry. For example, a Schema Registry that requires an SSL connection with a custom trust store and Basic authentication could use a properties file with contents like the following:

Code Block
schema.registry.ssl.truststore.location=/path/to/truststore.jks
schema.registry.ssl.truststore.password=changeit
schema.registry.ssl.truststore.type=JKS
basic.auth.credentials.source=USER_INFO
basic.auth.user.info=user:pass

See Confluent Avro documentation for more information about configuration options (for example: https://docs.confluent.io/platform/current/schema-registry/sr-client-configs.html)

Values in property files can reference environment variables and system properties using the format ${env_var:VARNAME} and ${system_property:PROPNAME} respectively. This way, the property basic.auth.user.info in the example above could be:

basic.auth.user.info=user:${env_var:PASSWORD}

This would allow users to specify the password in an environment variable (PASSWORD) rather than including the password in the properties file.

Usage

Anchor
AddingAvroClients
AddingAvroClients
Adding the Avro Clients

...

  1. If the Kafka record key is also Avro, add an Apache Avro Client to your test suite and configure it as follows, then save it:
    • Choose the schema for the record key from the Message type menu. You will need to configure the Avro schema's location if you haven't already.
    • On the Request tab, confirm that Form Input is selected as the Input mode and enter the details for the input fields as needed.
    • On the Transport tab, set Transport to None.
  2. If the Kafka record key is also Avro, add an XML Data Bank output to the Avro client (right-click the Avro client and choose Add Output > Request > Payload Modeled as XML > XML Data Bank) and configure it as follows, then save it:
    • Extract the record key element (select it and click Extract Element).
    • Modify the extracted element and change the Xpath to */. Ensure that the Extract field is set to Entire Element.
    • Rename the Data Source Column, if needed.
  3. Add another Apache Avro Client to the test suite (this will be a producer) and configure it as follows, then save it:
    • Choose the schema for the record message from the Message type menu.
    • On the Request tab, confirm that Form Input is selected as the Input mode and enter the details for the input fields as needed.
    • On the Transport tab, choose Kafka from the Transport menu. If you have more than one custom transport, you will need to choose Custom Extension then choose Kafka from Select Implementation menu.
    • Select Connection and enter the details for your connection settings as needed.
    • Select Producer and enter avro as the Record Key Serializer. Enter a valid Topic and set the Record Key to the name of the Data Source Column from step 2. Complete the other Producer settings as needed.
  4. If the consumed record is a different Avro schema than the record that was produced, add another Apache Avro Client to the test suite (this will be a consumer) and configure it as follows, then save it:
    • Choose the schema for the record message from the Message type menu.
    • Enable Send XML instead of Apache Avro when in Form Input or Form XML to avoid any conversion errors, as the request will be ignored by the consumer.
    • On the Request tab, confirm that Form Input is selected as the Input mode and enter the details for the input fields as needed.
    • On the Transport tab, choose Kafka from the Transport menu. If you have more than one custom transport, you will need to choose Custom Extension then choose Kafka from Select Implementation menu.
    • Select Connection and enter the details for your connection settings as needed.
    • Select Consumer and enter a valid Topic and Group ID. Complete the other Consumer settings as needed.
    • If you want to correlate a message based on one or more headers, select Consumer Headers and enter the keys and values as appropriate.

Change Log

1.2

  • Added support for accessing a Schema Registry that requires authentication.
  • Use Kafka as the default transport for Apache Avro clients (in SOAtest 2026.1 and later).

1.1

  • Minor dependency updates.

1.0

  • Initial release.