Messaging Overview

The Wireless Messaging API (JSR-205) specification allows you to compose, send, and receive SMS and MMS messages through Java™ applications (MIDlets).

The Wireless Messaging API (WM API) is based on the Generic Connection Framework (GCF). The GCF is defined in the javax.microedition.io package of the Connected Limited Device Configuration (CLDC) 1.0 specification. The package defines an extensible framework for connections and supports input/output and networking functionality in Java Platform Micro Edition profiles.

Representation of a message

A message can be thought of as having an address part and a data part. A message is represented by a class that implements the interface defined for messages in the WM API 2.0. This interface provides methods that are common for all messages. In the javax.wireless.messaging package, the base interface that is implemented by all messages is named Message. It provides methods for addresses and timestamps.

For the data part of the message, the WM API 2.0 is designed to handle text, binary and multipart messages. These are represented by three subinterfaces of Message: TextMessage, BinaryMessage and MultipartMessage. These subinterfaces provide ways to manipulate the payload of the message as Strings, byte arrays and message parts, respectively.

Other subinterfaces of Message can be defined for message payloads which are neither pure text nor pure binary. It is also possible to create further subinterfaces of TextMessage, BinaryMessage and MultipartMessage for possible protocol-specific features.

Sending and receiving messages

As defined by the Generic Connection Framework, the message sending and receiving functionality is implemented by a Connection interface, in WM API 2.0's case, MessageConnection. To make a connection, the application obtains an object implementing the MessageConnection from the Connector class by providing a URL connection string that identifies the address.

For more information about the sending and receiving of messages, see the Wireless Messaging API (JSR-205) specification.

Permissions for Series 40 Platforms

Permissions must be granted to open a connection and to send and receive messages, as specified in the WM API 2.0 specification. Separate permissions are provided for the SMS and MMS messaging. If the permission is not granted, then Connector.open must throw a SecurityException.

If the application attempts to send or receive a message to a restricted port number, then a SecurityException is thrown. The table below shows the port numbers that are restricted to SMS messages:

Table: Port number restricted to SMS Messages
Port number Description
2805 WAP WTA secure connection-less session service
2923 WAP WTA secure session service
2948 WAP Push connectionless session service (client side)
2949 WAP Push secure connectionless session service (client side)
5502 Service Card reader
5503 Internet access configuration reader
5508 Dynamic Menu Control Protocol
5511 Message Access Protocol
5512 Simple Email Notification
9200 WAP connectionless session service
9201 WAP session service
9202 WAP secure connectionless session service
9203 WAP secure session service
9207 WAP vCal Secure
49996 SyncML OTA configuration
49999 WAP OTA configuration

For more information about the permissions in WM API 2.0, see Appendix E of Wireless Messaging API (JSR-205) specification.