> For the complete documentation index, see [llms.txt](https://docs.frends.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.frends.com/tasks/tasks/other/frends.ibmmq.putmessage.md).

# Frends.IBMMQ.PutMessage

Task version: 2.0.0

Required Frends version: 5.7+

Required .NET version: 8.0

Compatible Agents: Crossplatform

Source code: <https://github.com/FrendsPlatform/Frends.IBMMQ>

## Task Parameters

{% tabs %}
{% tab title="Input" %}

| Name                                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| MessageAsBytes : `Boolean`                  | <p>Content as a byte array (true) or string (false).</p><p><br>Default: <code>False</code><br>Example: <code>false</code></p>                                                                                                                                                                                                                                                                                                                                                                                                        |
| MessageContentBytes : `Byte[]`              | <p>Message content as byte array.</p><p><br>Default: <code>-</code><br>Example: <code>{72, 101, 108, 108, 111, 32, 70, 114, 101, 110, 100, 115, 33}</code></p>                                                                                                                                                                                                                                                                                                                                                                       |
| MessageContent : `String`                   | <p>Message content as byte array.</p><p><br>Default: <code>-</code><br>Example: <code>{72, 101, 108, 108, 111, 32, 70, 114, 101, 110, 100, 115, 33}</code></p>                                                                                                                                                                                                                                                                                                                                                                       |
| CharacterSet : `CharacterSet`               | <p>Character set for the message.</p><p>Possible values:</p><ul><li><code>UTF8</code>: Character set for the message.</li><li><code>ISO88591</code>: Character set for the message.</li><li><code>WindowsLatin1</code>: Character set for the message.</li><li><code>Unicode</code>: Character set for the message.</li><li><code>Other</code>: Character set for the message.</li><li><code>Automatic</code>: Character set for the message.</li></ul><p><br>Default: <code>0</code><br>Example: <code>CharacterSet.UTF8</code></p> |
| CharacterSetValue : `Nullable<Int32>`       | <p>Character set for the message as an integer code value (CCSID).</p><p>Can be left empty to use the queue manager default.</p><p><br>Default: <code>-</code><br>Example: <code>1208</code></p>                                                                                                                                                                                                                                                                                                                                     |
| Properties : `MessageProperty[]`            | <p>Individual message properties as key-value pairs.</p><p>Some values are derived and cannot be set explicitly.</p><p><br>Default: <code>-</code><br>Example: <code>\[{ "Name": "ReplyToQ", "Value": "DEV.QUEUE.2" }]</code></p>                                                                                                                                                                                                                                                                                                    |
| Descriptors : `MessageDescriptorProperty[]` | <p>Message descriptors (MQMD) as key-value pairs.</p><p>Some values are derived and cannot be set explicitly.</p><p><br>Default: <code>-</code><br>Example: <code>\[{ "Name": "Format", "Value": "MQSTR" }]</code></p>                                                                                                                                                                                                                                                                                                               |
| RFH2Headers : `RFH2HeaderProperty[]`        | <p>RFH2 header properties for the message. Can be left empty to use defaults.</p><p>NB: Only one NameValueData field is allowed.</p><p><br>Default: <code>-</code><br>Example: <code>\[{ "Name": "NameValueData", "Value": "TestDataÄÄ" }]</code></p>                                                                                                                                                                                                                                                                                |
| {% endtab %}                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

{% tab title="Connection" %}

| Name                        | Description                                                                                      |
| --------------------------- | ------------------------------------------------------------------------------------------------ |
| HostName : `String`         | <p>Host name.</p><p><br>Default: <code>-</code><br>Example: <code>localhost</code></p>           |
| PortNumber : `Int32`        | <p>Port number.</p><p><br>Default: <code>-</code><br>Example: <code>1414</code></p>              |
| Channel : `String`          | <p>MQ Channel.</p><p><br>Default: <code>-</code><br>Example: <code>SYSTEM.DEF.SVRCONN</code></p> |
| QueueManagerName : `String` | <p>Queue manager.</p><p><br>Default: <code>-</code><br>Example: <code>QM1</code></p>             |
| Queue : `String`            | <p>Queue manager.</p><p><br>Default: <code>-</code><br>Example: <code>QM1</code></p>             |
| UserId : `String`           | <p>User ID.</p><p><br>Default: <code>-</code><br>Example: <code>user</code></p>                  |
| 🗝Password : `String`       | <p>Password.</p><p><br>Default: <code>-</code><br>Example: <code>PassWord</code></p>             |
| {% endtab %}                |                                                                                                  |

{% tab title="Options" %}

| Name                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| SslCipherSpec : `String`           | <p>The TLS CipherSpec used for the connection.</p><p>Ensure this matches the CipherSpec configured on the MQ Channel.</p><p><br>Default: <code>-</code><br>Example: <code>TLS\_RSA\_WITH\_AES\_256\_CBC\_SHA256</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| SslPeerName : `String`             | <p>Used to verify the Distinguished Name (DN) of the Queue Manager's certificate.</p><p>Provides an additional layer of security by ensuring the client connects to the correct server.</p><p><br>Default: <code>-</code><br>Example: <code>CN=QMGR.\*, OU=IBM, OU=WEBSPHERE</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| SslResetCount : `Int32`            | <p>The number of bytes sent/received before the secret key is renegotiated.</p><p>Set to 0 to disable renegotiation.</p><p><br>Default: <code>-</code><br>Example: <code>0</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| SslCertRevocationCheck : `Boolean` | <p>Enables or disables SSL certificate revocation checking.</p><p>WARNING: This is a process-wide setting (MQEnvironment.SSLCertRevocationCheck)</p><p>that applies globally to all IBM MQ connections in the current process.</p><p>If multiple tasks run concurrently with different values, the last write wins</p><p>and may affect other tasks unpredictably.</p><p><br>Default: <code>-</code><br>Example: <code>false</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| CertSource : `CertificateSource`   | <p>Defines how the SSL certificate is sourced.</p><p>Possible values:</p><ul><li><code>Store</code>: Defines how the SSL certificate is sourced.</li><li><code>File</code>: Defines how the SSL certificate is sourced.</li></ul><p><br>Default: <code>1</code><br>Example: <code>CertificateSource.Store</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| StoreType : `SslStoreType`         | <p>Specifies the location of the certificate store.</p><p>On Windows, this distinguishes between Current User and Local Machine stores.</p><p>On Linux, .NET typically looks for certificates in the user's home directory (<del>/.dotnet/corefx/cryptography/x509stores/my/).</del></p><p>Possible values:</p><ul><li><code>User</code>: Specifies the location of the certificate store.</li></ul><p>On Windows, this distinguishes between Current User and Local Machine stores.</p><p>On Linux, .NET typically looks for certificates in the user's home directory (/.dotnet/corefx/cryptography/x509stores/my/).</p><ul><li><code>System</code>: Specifies the location of the certificate store.</li></ul><p>On Windows, this distinguishes between Current User and Local Machine stores.</p><p>On Linux, .NET typically looks for certificates in the user's home directory (\~/.dotnet/corefx/cryptography/x509stores/my/).</p><p><br>Default: <code>0</code><br>Example: <code>SslStoreType.User</code></p> |
| CertificatePath : `String`         | <p>The absolute path to the .p12 or .pfx certificate file.</p><p><br>Default: <code>-</code><br>Example: <code>Windows: "C:\certs\client.p12" Linux: "/app/certs/client.p12"</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| CertificatePassword : `String`     | <p>The password for the certificate file.</p><p><br>Default: <code>-</code><br>Example: <code>PassWord</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ThrowErrorOnFailure : `Boolean`    | <p>Whether to throw an error on failure.</p><p><br>Default: <code>True</code><br>Example: <code>true</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ErrorMessageOnFailure : `String`   | <p>Overrides the error message on failure.</p><p><br>Default: <code>-</code><br>Example: <code>Custom error message</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| {% endtab %}                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| {% endtabs %}                      |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |

## Task Result

| Name                | Description                                                                                                                    |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Success : `Boolean` | <p>Gets a value indicating whether the Task was executed successfully.<br>Example: <code>true</code></p>                       |
| Error : `Error`     | <p>Error that occurred during task execution.<br>Example: <code>object { string Message, Exception AdditionalInfo }</code></p> |

## Task Changelog

Changelog for Task Frends.IBMMQ.PutMessage.

### \[2.0.0] - 2026-04-27

#### Added

#### Breaking Changes

* Removed `Ssl` parameter tab. All SSL options have been moved to the `Options` parameter tab.

#### New Features

* Added certificate source configuration via `CertSource` property (`CertificateSource.Store` or `CertificateSource.File`).
* Added support for loading client certificates from Windows/Linux certificate store via `StoreType` property (`SslStoreType.User` or `SslStoreType.System`).
* Added support for loading client certificates from a `.p12`/`.pfx` file via `CertificatePath` and `CertificatePassword` properties.
* Added error handler with `ThrowErrorOnFailure` and `ErrorMessageOnFailure` options for consistent error handling.

### \[1.0.0] - 2024-01-16

#### Added

* Initial implementation


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.frends.com/tasks/tasks/other/frends.ibmmq.putmessage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
