Mapping Web API calls to local classes - windows-runtime

I'm consuming my ASP.NET Web API service. When I consume a classical web service Visual Studio generates mapping classes for me. Is there some library or approach to map HTTP Web API calls to my classes automatically? I'm consuming from WinRT application, but I would like to move this logic to Portable Library in future.

Most likely you are using classes that get returned from your WebAPI URIs. You can just use those same classes on your WinRT application. You would need to deserialize the result of your HTTP call to your object. If your WebAPI project returns the default JSON format, then you can deserialize with JSON.Net

Related

Link a website (kraken.com) using API on Android Studio

I was wondering how I could link my application to kraken.com server.
For example, making a login activity that sends the username and password to the server and if it's correct, open another activity.
The kraken's API is given by the following link: https://www.kraken.com/help/api
The problem is that I don't know how this API exactly works. How can I make HTTP Request and what is json? Consider I'm new in this area (API).
So firstly, JSON stand for Javascript Object Notation, it's a syntax for exchanging or storing data.
I'm assuming you're using Java since you're using Android Studio.
Looking at Kraken's API page: https://www.kraken.com/help/api#example-api-code
They don't currently have support a 3rd party Java Library for API access. So you would be looking a using a RESTful approach.
Here is an example of how to use that approach in Java: https://www.mkyong.com/webservices/jax-rs/restfull-java-client-with-java-net-url/

What are data formatters and http protocols? When we should use them?

What are the data formatters and http protocols?
I am somewhat confused about the below terms:
1.ODATA
2.REST and SOAP
3.WCF services
4.XML web services
5. JSON
6. WSDL
REST - A style of web services.
JSON - JavaScript Object Notation - basically, a concise way of serializing objects.
SOAP - An XML format used to do web service calls
WCF Services - a Microsoft framework for making web services.
WSDL - Web Service Description Language. Usually used to automatically discover information about a web service, generate proxies, etc. - typically used with SOAP-based services.
OData - standard protocol/format for calling RESTful web services
The HTTP Protocol is at a somewhat lower level than these protocols are - it's a general application-level protocol that's used for making requests and responses in general. It's more about how you do a request to a server (and what it'll send back) in general, whereas things like OData and SOAP dictate what you actually put in the request and response. Does that make sense?

Is there a tool that can generate call to rest web service

I have a URL to rest web service (made in WCF with JSON endpoint) that I call by passing JSON with all parameters.
But I don't know some parameters names.
Is there some tool where I can enter service URL and method name to get JSON example that I must pass to this method?
I know that tools like this exist for SOAP services but I need for REST.
I just tried to use wcf test client but I can't load the JSON endpoint it's only for SOAP.
...svc/json
There are various addons for rest and soap services. you can try as per your requirement.

Combining Google Cloud Endpoint and Google Cloud Messaging

I have two things. A backend running on App Engine and a Android app. These needs to communicate in a efficient way.
What I already did. I created a api with Google Cloud Endpoints. This endpoint exposes calls. The objects in the backend are mapped to json and mapped back to objects in the Android app. This is what the Endpoints provide.
Sometimes I want to push information from the backend to the Android app. What I do now is I send a Google Cloud Message (GCM) to the Android app and these is updating everything by calling something on the Endpoint of the backend.
This situation is working without problems but it has some drawbacks:
When I update a lot of devices at ones (what is happening a lot in my application) all those devices make a call to the backend and creating a large peak load.
The extra call is using additional battery on the phones.
What I want is to add the updated information into the GCM. GCM has support to add 4kB of data. Large enough to add the json with the updated information. If I want to send more then 4kB I can always use the old situation.
So, basicly what I want is the following:
When I'm going to send a GCM I retrieve the the correct objects from datastore/database.
Those objects needs to be converted to json in the same way as the Endpoint library does.
The json should be added to the GCM.
In the Android application the json should be convert back to objects in the same way as the Endpoint library does.
Continue processing those object the same way as before.
I found a thread that suggested that I should the gson library to do this. But I have problems in both backend and Android app. And also the json itself is not the same. I want to use the Endpoint library to serialize the same json and to deserialize to the same result as a Endpoint call.
Does anybody have any idea how to do that? Maybe a example or tutorial?

Consume JSON in body of POST Request from ASP.NET

I need to be able to consume some JSON data in a POST request from another web app. I have tried looking at the various methods on the Request class, but nothing seems to give me the JSON I need.
Using Request.Form will not work, since it is not coming from a form, but another web app. The content type is application/json, and from examining the whole HTTP request, I know the JSON is in there. What is the best way to get at this JSON data?
Note: I am working from within an action on a controller.
I think you can get your JSON from your model parameter inside the Action of the Controller. Check out this article that explains a bit of what I mean.
You can also read this one for reference
Since you are consuming data from another web app I would use a REST web service instead of a controller in an MVC application. You cans use the ASP.NET Web API which makes it easy to setup a REST web API and it is tightly integrated in with MVC 4, which is now in Beta. If the communication is cross domain (i.e. different servers and/or ports) you will need to use JSONP. You can go to this StackOverflow QA for directions on how to use JSONP with Web API.