Xml exception on REST response

Hi,
we have implemented a simple web service using visual studio 2013 (IIS) and published it on http://192.168.173.1/PhotoService.asmx .
Than we generated using MFSvcUtil.exe the client and included it into a gadgeteer FEZ spider 1.0 project.
When we try to obtain any request we get an xml error:

   #### Exception System.Xml.XmlException - 0xec000000 (1) ####
    #### Message: 
    #### System.Xml.XmlReader::ReadStartElement [IP: 003d] ####
    #### Ws.Services.WsaAddressing.WsWsaHeader::ParseHeader [IP: 001d] ####
    #### Ws.Services.Encoding.TextMessageEncodingBindingElement::OnProcessInputMessage [IP: 01fc] ####
    #### Ws.Services.Binding.BindingElement::ProcessInputMessage [IP: 0019] ####
    #### Ws.Services.Binding.RequestChannel::ReceiveMessage [IP: 002c] ####
    #### Ws.Services.Binding.RequestChannel::Request [IP: 0017] ####
    #### PhotoService.asmx.PhotoServiceSoapClientProxy::getPages [IP: 0047] ####
    #### FEZ12___Book.Program::timer_Tick [IP: 000e] ####
    #### Microsoft.SPOT.DispatcherTimer::FireTick [IP: 0010] ####
    #### Microsoft.SPOT.Dispatcher::PushFrameImpl [IP: 0054] ####
    #### Microsoft.SPOT.Dispatcher::PushFrame [IP: 001a] ####
    #### Microsoft.SPOT.Dispatcher::Run [IP: 0006] ####
    #### Gadgeteer.Program::Run [IP: 001d] ####
A first chance exception of type 'System.Xml.XmlException' occurred in System.Xml.dll
    #### Exception Ws.Services.Faults.WsFaultException - 0x00000000 (1) ####
    #### Message: 
    #### Ws.Services.WsaAddressing.WsWsaHeader::ParseHeader [IP: 01ca] ####
    #### Ws.Services.Encoding.TextMessageEncodingBindingElement::OnProcessInputMessage [IP: 01fc] ####
    #### Ws.Services.Binding.BindingElement::ProcessInputMessage [IP: 0019] ####
    #### Ws.Services.Binding.RequestChannel::ReceiveMessage [IP: 002c] ####
    #### Ws.Services.Binding.RequestChannel::Request [IP: 0017] ####
    #### PhotoService.asmx.PhotoServiceSoapClientProxy::getPages [IP: 0047] ####
    #### FEZ12___Book.Program::timer_Tick [IP: 000e] ####
    #### Microsoft.SPOT.DispatcherTimer::FireTick [IP: 0010] ####
    #### Microsoft.SPOT.Dispatcher::PushFrameImpl [IP: 0054] ####
    #### Microsoft.SPOT.Dispatcher::PushFrame [IP: 001a] ####
    #### Microsoft.SPOT.Dispatcher::Run [IP: 0006] ####
    #### Gadgeteer.Program::Run [IP: 001d] ####
A first chance exception of type 'Ws.Services.Faults.WsFaultException' occurred in MFWsStack.dll

Still, if we try to see through wireshark the messages exchanged everything is fine as you can see from the attached images.

Our service code is as follows:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for PhotoService
/// </summary>
[WebService(Namespace = "http://192.168.173.1:56235/PhotoService.asmx")]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class PhotoService : System.Web.Services.WebService {

    private static uint startPage = 0, endPage = 0;
    private static String currentTitle = "";
    private static Dictionary<string, string> db = new Dictionary<string, string>();

    [WebMethod]
    public String getBookPage(String id)
    {
        return db[id];
    }

    [WebMethod]
    public String[] getBooksIDs()
    {
        string[] keys = new string[db.Keys.Count];
        db.Keys.CopyTo(keys, 0);
        return keys;
    }

    [WebMethod]
    public bool setTitle(String title)
    {
        currentTitle = title;
        return true;
    }

    [WebMethod]
    public bool setPages(uint start, uint end)
    {
        if (start > end)
            throw new ArgumentOutOfRangeException();
        startPage = start;
        endPage = end;
        return true;
    }

    [WebMethod]
    public uint getPages()
    {
        return endPage - startPage + 1;
    }

    [WebMethod]
    public bool upload(String b64image)
    {
        db.Add(currentTitle + " - p. " + startPage++, b64image);
        return true;

    }
    
}

And the client:

using System;
using System.Collections;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Controls;
using Microsoft.SPOT.Presentation.Media;
using Microsoft.SPOT.Presentation.Shapes;
using Microsoft.SPOT.Touch;

using Gadgeteer.Networking;
using GT = Gadgeteer;
using GTM = Gadgeteer.Modules;
using Gadgeteer.Modules.GHIElectronics;
using System.Net.Sockets;
using System.Net;
using Ws.Services.Binding;
using Dpws.Client;
using Ws.Services;
using System.Ext;
using Microsoft.SPOT.Net.NetworkInformation;
using PhotoService.asmx;


namespace FEZ12___Book
{
    public partial class Program
    {

        //private static readonly getPages req = new getPages();

        private PhotoServiceSoapClientProxy client;

        // This method is run when the mainboard is powered up or reset.   
        void ProgramStarted()
        {
            ethernetJ11D.NetworkUp += ethernetJ11D_NetworkUp;

            //The other option is UseStaticIP
            ethernetJ11D.UseStaticIP("192.168.173.10", "255.255.255.0", "192.168.173.1");

            if (!ethernetJ11D.NetworkInterface.Opened)
                ethernetJ11D.NetworkInterface.Open();
        
        }

        void ethernetJ11D_NetworkUp(GTM.Module.NetworkModule sender, GTM.Module.NetworkModule.NetworkState state)
        {
            client_init();
            StartCamera();
        }


        private void client_init()
        {
            Uri url = new Uri("http://192.168.173.1:56235/PhotoService.asmx");
            
            HttpTransportBindingConfig tbc = new HttpTransportBindingConfig(url);
             
            var binding = new WS2007HttpBinding(tbc);
            ProtocolVersion ver = new ProtocolVersion11();
            client = new PhotoServiceSoapClientProxy(binding, ver);            
        }
        
        public void StartCamera()
        {
            GT.Timer timer = new GT.Timer(3000);
            timer.Tick += timer_Tick;
            timer.Start();
        }

        public void timer_Tick(GT.Timer timer)
        {
            Debug.Print("Pages: " + client.getPages(new getPages()).getPagesResult);// << EXCEPTION HERE
        }
    }
}

We really don’t know how to make this work, so any help would be appreciated.