A service instance is a single-use object used to call a remote web service.
You can use the dw.svc.LocalServiceRegistry.createService()
method to create
a service instance. This method takes two arguments:
The callbacks contain code that is executed at appropriate times by the service framework.
For example, an HTTP or FTP service instance typically implements three callbacks:
createRequest
, parseResponse
, and (for testing)
mockCall
.
A SOAP service implements two more callbacks: initServiceClient
and
execute
.
The following FTP service instance executes a single FTP operation (list):
//LocalServiceRegistry.createService creates an instance of MyFTPService
var myFTPService = LocalServiceRegistry.createService("MyFTPService", {
// Three callback handlers are invoked by the Service Framework
// for FTP services at appropriate times
// Callback handler to construct request
createRequest: function(svc:FTPService, params) {
svc.setOperation("list", "/");
},
// Callback handler to parse response
parseResponse : function(svc:FTPService, params) {
var x : Array = [];
var resp : Array = params;
for(var i = 0; i < resp.length; i++) {
var f = resp[i];
x.push( { "name": f['name'], "timestamp": f['timestamp'] } );
}
return x;
},
// Callback handler to test the service using a mock response
mockCall : function(svc:FTPService, params) {
return [
{ "name": "file1", "timestamp": new Date(2011, 02, 21)},
{ "name": "file2", "timestamp": new Date(2012, 02, 21)},
{ "name": "file3", "timestamp": new Date(2013, 02, 21)}
];
},
});