SendData Method

Publishes a message with a raw data payload.

Syntax

ANSI (Cross Platform)
int SendData(const char* lpszDestination, const char* lpData, int lenData);

Unicode (Windows)
INT SendData(LPCWSTR lpszDestination, LPCSTR lpData, INT lenData);
- (void)sendData:(NSString*)destination :(NSData*)data;
#define MID_STOMP_SENDDATA 13

IPWORKSMQ_EXTERNAL int IPWORKSMQ_CALL IPWorksMQ_STOMP_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);

Remarks

This method publishes a STOMP message with a raw data payload to the specified Destination. The MessageOut event will fire after the message has been sent.

The STOMP specification does not place any restrictions on Destination names. Instead, each STOMP server is free to define its own requirements for, and/or interpretations of, a Destination name; for example, a server might prohibit certain characters, require a specific format, or interpret some patterns in a special manner. Be sure to consult the documentation for your STOMP server to determine how to build proper Destination names.

In addition to the payload, the outgoing messages will include:

  • All user-defined headers held by the Header* properties.
  • If the TransactionId property is populated, the transaction Id that it specifies (which associates the message with that transaction).
Note that the STOMP specification defines a number of standard headers necessary for implementing the STOMP protocol. When constructing an outgoing message, the class silently ignores any user-defined headers that are already set by the class.

If RequestReceipts is enabled when this method is called, the class will request that the server send back a receipt to confirm it has received the message. Refer to RequestReceipts for more information.

Note that no content type is defined for raw data payload messages; so the ContentType property is ignored by this method.

Send String Message Example

stomp1.SendMessage("test/a/b", "Hello, world!");

Send Binary Message Example

byte[] fileContent = File.ReadAllBytes("C:\test\stuff.dat");
stomp1.SendData("test/a/b", fileContent);

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks MQ 2020 C++ Edition - Version 20.0 [Build 8155]