How to access the service

Since the GMAWebservice is based on wcf it supports a variety of programming languages(basically all with JSON & http support).

The current implementation has a JSON and a SOAP endpoint.

To access it with .net technologies you need to add a service reference in Visual Studio and browse to "http://<servername>:44321/GmaWebService/MediaAccessService"

Then you have to instantiate your service object (this is silverlight code, in other .net applications you would have sync instead of async methods)
            service = new <ProjectName>.MediaAccessService.MediaAccessServiceClient("BasicHttpBinding_IMediaAccessService", "http://localhost:44321/GmaWebService/MediaAccessService");
            service.ClientCredentials.UserName.UserName = "admin";
            service.ClientCredentials.UserName.Password = "admin";
            service.OpenCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(service_OpenCompleted);
            service.OpenAsync();


To use the JSON endpoint you can use basic http handlers with whom you access the service's urls.
The typical url looks like this
http://localhost:44321/GmaWebService/MediaAccessService/json/GetAllSeries?sort=0&order=0
or
http://localhost:44321/GmaWebService/MediaAccessService/json/GetAllMovies?sort=0&order=0

As you can see each parameter is added with ?<name>=<value>.
Furthermore it's obvious that each list has sort and order parameters which are mandatory!

Here's a description of existing mechanisms. If you have a suggestion which sort mechanism is needed feel free to add a issue tracker entry!
    public enum OrderBy
    {       
        Asc = 0,      
        Desc = 1

    }    
    public enum SortBy
    {
      
        Name = 0,   
        Date = 1,
        TrackNumber = 2,
        Year = 3,       
        Genre = 4,    
        Composer = 5,        
        EpisodeNumber = 6,   
        Rating = 7, 
        SeasonNumber_EpisodeNumber = 8

    }


Obviously not all sorting mechanisms fit to each kind of media file. If you try to access a list with an unimplemented sorting mechanism the service will automatically fall back to the "Name" mechanism!