Send a Message to a WebSocket Channel

The WebSocket external action receives messages and delivers them over TCP to WebSocket-supported clients that are connected to the FME Server WebSocket Server or another target URL. Supported clients include:

  • FME Desktop workspaces configured with WebSocketReceiver transformers.
  • HTML5-based web browsers, such as:
    • Internet Explorer 10+
    • Firefox 11+
    • Chrome 16+
    • Safari 6+
    • Opera 12.10+

The WebSocket external action has two output ports. The success port () can send a message if the WebSocket channel is notified successfully. The failure port (x) can send a message if the notification fails.

Client Requirements

To receive data from the external action, clients must send the following preamble:

{

"ws_op" : "open",

"ws_stream_ids" : ["<stream_id1>", "<stream_id2>", "<stream_id3>", ...]

}

For more information, see WebSocket Server Messaging Protocol.

WebSocket Communication Channels

The WebSocket Server is located on the FME Server Core. By default, FME Server uses the following channels for WebSocket communication:

  • Port: 7078
  • URI: ws://<hostname>:7078/websocket

To configure the WebSocket server for SSL communication, see Configuring for HTTPS.

Parameters

Note: See also Working with Parameters in Automations Workflows.

Tip: To test that your parameters work as expected, click Validate.

  • Target URL: This field is pre-populated with the URL of the WebSocket server on the FME Server Core (included with your FME Server installation). However, you can choose to connect to a different WebSocket server.
  • Stream ID: Specify a Stream ID for the subscriber. The Stream ID allows the WebSocket server to uniquely identify message streams and connect them to the right requesting applications.
  • Message: Specify the message to send. If specified, this message replaces the incoming message.

Output Keys

See Also

Key Description
time Event time
source Event type
error.type (Failure port only) Error type
error.message (Failure port only) Error message

See Also