This is a mirror of official site: http://jasper-net.blogspot.com/

Вызов .NET сервиса (WCF RESTful) из Android приложения

| Sunday, March 13, 2011
Вот недавно столкнулся с проблемой, нужно было вызвать .NET WCF сервис из Javа. Нашел несколько примеров, реализации, одним из них и хочу поделиться, вдруг пригодиться кому. Прогулявшись по просторам интернета, нашел готовое решение для SOAP сервисов. Разбираться с ним не стал и продолжил поиск. Затем, было найдено решение с использованием WCF RESTful сервиса, который возвращал данные в формате JSON. Решил разобраться подробнее и попробовать как это работает.

Итак, для начала нам надо написать WCF RESTful [EN] сервис. Для начала определим дата-контракт:
Message.cs

using System.Runtime.Serialization;

namespace TestService
{
[DataContract]
public class Message
{
[DataMember(Order = 1)]
public string Header { get; set; }

[DataMember(Order =2)]
public string Body { get; set; }
}
}

Задаем порядок элементов, которые будет возвращать веб-сервис посредством Order = x.
Потом определим сервис-контракт:
ITestService.cs

using System.ServiceModel;
using System.ServiceModel.Web;

namespace TestService
{
[ServiceContract]
public interface ITestService
{
[OperationContract]
[WebGet(UriTemplate = "/GetMessage/?header={header}&?body={body}", ResponseFormat = WebMessageFormat.Json)]
Message ComposeMessage(string header, string body);
}
}

Подробнее о UriTemplate можете почитать тут.
Реализуем сервис:
TestService.svc.cs

using System.ServiceModel.Activation;

namespace TestService
{
public class TestService : ITestService
{
#region ITestService Members

public Message ComposeMessage(string header, string body)
{
Message message = new Message() { Header = header, Body = body };

return message;
}

Posted via email from Jasper-net

0 comments: