En effet, il suffit simplement de créer un bon vieux web service SOAP en .net 2.0. Nous créons une librairie .net 2.0 pour faire facade et nous pouvons l'attaquer dans notre application XBAP.
[csharp]
internal static class FacadeWebService
{
    public static localhost.Service Instance
    {
        get
        {
            if (null == m_instance)
            {
                m_instance = new DaoFacade.localhost.Service();
                m_instance.CookieContainer = new CookieContainer();
            }

            return m_instance;
        }
    }

    private static localhost.Service m_instance;
}

public class TestClass
{
    public string Text
    {
        get
        {
            try
            {
                localhost.Service service = FacadeWebService.Instance;
                return service.HelloWorld();
            }
            catch (Exception ex)
            {
                return null;
            }
        }
    }
}
Mais cela ne suffit pas. En effet, il faut modifier les permissions et ajouter "Unrestricted" à "True" pour que l'application XBAP ne provoque plus d'exceptions lorsque l'on accèdera au webservice.
[xml]
<applicationRequestMinimum>
  <defaultAssemblyRequest permissionSetReference="Custom" />
  <PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site"  Unrestricted="true"/>
</applicationRequestMinimum>