---
title: Enable SimpCon Push XML Producer
slug: enable-simpcon-push-xml-producer
docTags: 
createdAt: 2026-09-22T17:05:30.591Z
---

## Overview

The SimpCon Push XML Producer Extension Template provides a framework for developing extensions that receive XML-formatted records from an external source system and publish the records to a Kafka topic through Data Streaming Services.
The extension requires details about the external source system, including the system URL and authentication credentials. Optional filters, such as assignment groups and domain-separated company names, can be configured to limit the records processed by the extension.

## Platform service interactions

The extension transforms incoming requests and forwards them to the following Data Streaming Service topic:

:::BlockQuote
itil-xxxxx-source
:::

## Configure the extension

The following environment variables must be passed to the container:

| Variable                             | Default | Comments                              |
| ------------------------------------ | ------- | ------------------------------------- |
| DX\_EXT\_EXTENSION\_USER (string)    |         | Mandatory Bridge Username used        |
| for Basic Authentication             |         |                                       |
| DX\_EXT\_EXTENSION\_PW (string)      |         | Mandatory Bridge Password used        |
| for Basic Authentication             |         |                                       |
| DX\_EXT\_SOURCE\_QUERY\_URL (string) |         | Mandatory SMT URL to query            |
| for ticket state                     |         |                                       |
| DX\_EXT\_SOURCE\_USER (string)       |         | Mandatory SMT Username used for       |
| Basic Authentication                 |         |                                       |
| DX\_EXT\_SOURCE\_PW (string)         |         | Mandatory SMT Password used for Basic |
| Authentication                       |         |                                       |
| DX\_ENV\_ENVIRONMENT (string)        |         | Mandatory The type of environment     |
| the extension is running in:         |         |                                       |
| LOCAL, DEV, or PROD                  |         |                                       |
| DX\_ENV\_OU\_KEY (string)            |         | Mandatory OU Tenant Key               |
| DX\_ENV\_OU\_BAC\_ID (string)        |         | Mandatory BAC id of the client        |
| DX\_ENV\_OU\_ES\_INSTANCE (string)   |         | Mandatory The Elasticearch instance   |
| the messages are supposed            |         |                                       |
| to go to on the Consumer side        |         |                                       |
| DX\_EXT\_CDI\_TOOL\_SOURCE (string)  |         | Mandatory Client Tool Mapping value   |
| DX\_EXT\_CDI\_CUSTOMERCODE (string)  |         | Mandatory Client Tool Mapping value   |

:::hint{type="info"}
Store authentication credentials securely. Do not include credentials in source code repositories.
:::

## How the extension works

This application is a Simplified Connector designed to run as an extension instance in the Integrated AIOps platform.

The extension performs the following actions:

- Receives XML-formatted records from an external source system.
- Transforms the incoming requests.
- Publishes the transformed records to a Data Streaming Service Kafka topic.
  The extension runs as a container in a Kubernetes environment.

## Results

The extension runs as a containerized application and uses Kubernetes liveness and readiness probes to report runtime health status.

## Deployment

The extension is intended for deployment and configuration through the Integrated Artificial Intelligence for IT Operations user interface for a specific Organizational Unit (OU) or Compute Zone.

:::hint{type="info"}
Local execution is intended only for developers who are familiar with the extension codebase.
:::

### Run the extension locally

**Build the container image**

1. Open a terminal session.
2. Navigate to the extension directory.

:::BlockQuote{indent="1"}
cd \<extension\_path>
:::

**Build the docker image**

:::BlockQuote
docker build -t simpcon-push-producer:1.0.0 -f ./deployment/Dockerfile
:::

**Start the container**

Run the container and provide the required environment variables.

:::BlockQuote
docker run --rm \\
\--network host \\
-itd \\
-p 8080:8080 \\
-e DX\_EXT\_EXTENSION\_USER=\<bridge\_username> \\
-e DX\_EXT\_EXTENSION\_PW=\<bridge\_password> \\
-e DX\_EXT\_SOURCE\_QUERY\_URL=[https://devibmimieu.service-now.com/api/now/table/incident](https://devibmimieu.service-now.com/api/now/table/incident) \\
-e DX\_EXT\_SOURCE\_USER=\<source\_username> \\
-e DX\_EXT\_SOURCE\_PW=\<source\_password> \\
-e DX\_ENV\_ENVIRONMENT=LOCAL \\
-e DX\_ENV\_OU\_KEY=098a759b1e7c.1 \\&#x20;
-e DX\_ENV\_OU\_BAC\_ID=BAC0000BF2 \\&#x20;
-e DX\_ENV\_OU\_ES\_INSTANCE=es.was1 \\&#x20;
-e DX\_EXT\_CDI\_TOOL\_SOURCE=SNOW-extsvc \\
-e DX\_EXT\_CDI\_CUSTOMERCODE=id1 \\
simpcon-push-producer:1.0.0
:::

### Monitor the container

**View running containers**

:::BlockQuote
docker ps
:::

**View container logs**

:::BlockQuote
docker logs \<container\_id> | less
:::

**Troubleshoot the container**

1. Identify the container ID.

:::BlockQuote{indent="1"}
docker ps
:::

2. Open a shell session in the container.

:::BlockQuote{indent="1"}
docker exec -it \<container\_id> /bin/bash

:::





## Support

The Extensions Development Team owns and maintains this extension.
