Restful WCF web service
structure using Retrofit Network library in Android
Web service design:
For creating web service y WCF you need to have basic knowledge
of C#. Create a dynamic project in VS. After that create Interface and
implementation class. I have created this for implementing retrofit.
I have created a WCF
web service on visual studio, which has the following structure.
1.
Taking request as JSON
and return response as a JSON stream.
Interface
Service Class:
//
retrofit test
[OperationContract]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", UriTemplate = "TestRetroDirectJSON", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
Stream
TestRetroDirectJSON(string name, string age, string marks);
Implementation
Class:
public Stream
TestRetroDirectJSON(string name, string age, string marks)
{
M_Test obj = new M_Test();
obj.name = name;
obj.age = age;
obj.marks = marks;
string str = JsonConvert.SerializeObject(obj);
byte[] byteArray = Encoding.UTF8.GetBytes(str);
MemoryStream stream = new MemoryStream(byteArray);
return stream;
}
Response return : {"name":"meenakshi","age":"23","marks":"67"}
Poster Test : firstly test
it on poster with local host.
2.
Taking request as query
parameters and return response as a string
Interface
Service Class:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "TestRetro_QueryString?name={name}&age={age}", ResponseFormat = WebMessageFormat.Json)]
string
TestRetro_QueryString(string name,string age);
Implementation
Class:
public string TestRetro_QueryString(string name,string age)
{
byte[] byteArray = Encoding.UTF8.GetBytes("Name="+name+", age="+age);
MemoryStream stream = new MemoryStream(byteArray);
return "Name=" + name + ", age=" + age;
}
Response return: "name=meenakshi,age=23"
Poster Test: firstly test it on poster with local host.
3.
Taking request as JSON
stream and return JSON stream
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "TestRetroWithStreamBothSide", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
Stream
TestRetroWithStreamBothSide(Stream data);
Implementation
Class:
public Stream
TestRetroWithStreamBothSide(Stream data)
{
StreamReader reader = new StreamReader(data);
string InputJson =
reader.ReadToEnd();
byte[] byteArray = Encoding.UTF8.GetBytes(InputJson);
MemoryStream stream = new MemoryStream(byteArray);
return stream;
}
Response return: {"name":"meenakshi","age":"23","marks":"67"}
Poster Test: firstly test
it on poster with local host.
!!!!!!!! Enjoy Happy learning....For any doubt please comment...
No comments:
Post a Comment