The AbstractService class is the base class for the HTTPMultiService, WebService, and RemoteObject classes. This class does the work of creating Operations which do the actual execution of remote procedure calls.

Constructor

@:value({ destination : null })new(?destination:String)

Constructor.

Parameters:

destination

The destination of the service.

Variables

@:flash.propertychannelSet:ChannelSet

Provides access to the ChannelSet used by the service. The ChannelSet can be manually constructed and assigned, or it will be dynamically created to use the configured Channels for the destination for this service.

@:flash.propertydestination:String

The destination of the service. This value should match a destination entry in the services-config.xml file.

@:flash.propertykeepLastResult:Bool

Flag indicating whether the service's operations should keep their last call result for later access.

Setting this flag at the service level will set keepLastResult for each operation, unless explicitly set in the operation.

If set to true or not set, each operation's last call result will be accessible through its lastResult bindable property.

If set to false, each operation's last call result will be cleared after the call, and must be processed in the operation's result handler. This will allow the result object to be garbage collected, which is especially useful if the operation is only called a few times and returns a large result.

See also:

  • mx.rpc.AbstractInvoker#keepLastResult

@:flash.propertymanagers:Array<Dynamic>

The managers property stores a list of data managers which modify the behavior of this service. You can use this hook to define one or more manager components associated with this service. When this property is set, if the managers have a property called "service" that property is set to the value of this service. When this service is initialized, we also call the initialize method on any manager components.

@:flash.propertyrequestTimeout:Int

Provides access to the request timeout in seconds for sent messages. A value less than or equal to zero prevents request timeout.

Methods

disconnect():Void

Disconnects the service's network connection and removes any pending request responders. This method does not wait for outstanding network operations to complete.

getOperation(name:String):AbstractOperation

Returns an Operation of the given name. If the Operation wasn't created beforehand, subclasses are responsible for creating it during this call. Operations are usually accessible by simply naming them after the service variable (myService.someOperation), but if your Operation name happens to match a defined method on the service (like setCredentials), you can use this method to get the Operation instead.

Parameters:

name

Name of the Operation.

Returns:

Operation that executes for this name.

initialize():Void

Called to initialize the service.

logout():Void

Logs the user out of the destination. Logging out of a destination applies to everything connected using the same ChannelSet as specified in the server configuration. For example, if you're connected over the my-rtmp channel and you log out using one of your RPC components, anything that was connected over the same ChannelSet is logged out.

Note: Adobe recommends that you use the mx.messaging.ChannelSet.logout() method rather than this method.

See also:

  • mx.messaging.ChannelSet#logout()

@:value({ charset : null })setCredentials(username:String, password:String, ?charset:String):Void

Sets the credentials for the destination accessed by the service when using Data Services on the server side. The credentials are applied to all services connected over the same ChannelSet. Note that services that use a proxy or a third-party adapter to a remote endpoint will need to setRemoteCredentials instead.

Parameters:

username

The username for the destination.

password

The password for the destination.

charset

The character set encoding to use while encoding the credentials. The default is null, which implies the legacy charset of ISO-Latin-1. The only other supported charset is "UTF-8".

@:value({ charset : null })setRemoteCredentials(remoteUsername:String, remotePassword:String, ?charset:String):Void

The username and password to be used to authenticate a user when accessing a remote, third-party endpoint such as a web service through a proxy or a remote object through a custom adapter when using Data Services on the server side.

Parameters:

remoteUsername

The username to pass to the remote endpoint

remotePassword

The password to pass to the remote endpoint

charset

The character set encoding to use while encoding the remote credentials. The default is null, which implies the legacy charset of ISO-Latin-1. The only other supported charset is "UTF-8".