Amadeus API classifications and Its Soap Client - amadeus

When I checked the https://sandbox.amadeus.com/ it's showing the JSON APIs and from my research Amadeus provides the XML based Soap API.
So, I need more clarification as to what is sandbox.amadeus.com if its not a regular API? Why is it in JSON and not in XML?
And after having production API keys, can I use JSON services like this for booking or do I have to port it to SOAP XML for that?
Why is the sandbox API in JSON and regular live API is in XML?

So, I need more clarification as to what is sandbox.amadeus.com if its not a regular API? Why is it in JSON and not in XML?
The sandbox site is an exploratory site really. Amadeus API (it's actually web services) in production is currently only SOAP XML. Amadeus are developing JSON services which can be used in the future, however, as far as I am aware there is no actual date for when this would be available in a production environment.
And after having production API keys, can I use JSON services like this for booking or do I have to port it to SOAP XML for that?
Only SOAP XML will work at the moment.
Why is the sandbox API in JSON and regular live API is in XML?
See my answer to your first question

Related

What's the quickest way to get an OpenAPI spec for existing web service

I have a running web server that uses restful API as its backend, wondering what is the most effective way to get the OpenAPI spec with the full set of APIs
just exploring ideas

Unity Agora APIS Callign issue

How create base64 key and added in this project , or what i pass in header id password in unity Webrequest by which access a restful api of agora , please help me .
Can you elaborate what RESTful APIs you are trying to use here? For the client side logic, the SDK should have sufficient set of API methods provided by the agora engine. If there is something that is only available in the RESTful API, it is probably better to implement on your Server side of the code.
This documentation contains the information about the RESTful APIs.

do api documentation with swagger use live databases

I'm new to this api documentation era.
Vising this api documentation, I get to post and query data. I understand that's a demo api documentation with swagger.
But what happens with real world API documentation? do I have a documentation in demo.api.myawesome.com and actual api on api.myawesome. com using different data stores?
But again digging deeper, I got to find out that an api can be self documenting using swagger libraries. This seems like both api and documentation are using the same data store which can't be the case.
What am I missing here?
From the Swagger website:
Swagger is a set of rules (in other words, a specification) for a format describing REST APIs. The format is both machine-readable and human-readable. As a result, it can be used to share documentation among product managers, testers and developers, but can also be used by various tools to automate API-related processes.
So yes, it uses the same "back end" as the actual API. It's just visualizing it, allowing you to interact with it via the Swagger UI.
If you mean Swagger UI - the "try it out" button sends requests to the server specified by the host property in your spec. If host specifies your production server, requests will be sent to production; if it points to a sandbox, "try it out" will use the sandbox. You may have a version of the spec for internal use that points to production, and a public version that points to sandbox.
Note that Swagger supports authentication as a way to ensure that only authorized users (e.g. your actual customers with valid credentials or API keys) can make API calls.
You can omit host from the spec to disable the "try it out" functionality - this way you can still have the API docs, just without the interactive part.

How develop Wrapper to consume the Amadeus Web service

I want to develop Wrapper to consume the Amadeus Web service .. How to start the Project. Need to create all the classes which is Amadeus reference and how to convert the response in simple response. Any one have idea then please let me know
Please give me high level idea.
Finally i have to parse the Amadeus Response to other Service response.
You need access to Amadeus Web Services Documentation.
You need a Amadeus web service account (user, password, wsap, etc).
Then you have 2 options:
Option 1: Download WSDL and depending on your language, typically the IDE will generate all the clases for you, you will have to use the proxy client class in order to execute Amadeus services.
Option 2: Create Amadeus XML's yourself and send them using a HttpWebRequest.

WCF Web Api vs WebHttpBinding

I'm new to WCF RESTFull services developpment and I'm looking for some usefull information and your experience feedback about using webHttpBinding compared to the new WCF Web API http://wcf.codeplex.com/.
What I'm looking for is to know about the shortcomings of webHttpBinding and therefore why to use the new Web api and especially what problems the new API resolves.
If you could point me to some blog posts comparing both of them or just talking about the problems when using webHttpBinding I would appreciate. Thank you in advance.
Main shortcomings I would say is that the webhttpbinding makes it difficult to handle HTTP specific concerns. It works great if all you are doing is passing an object over HTTP that is serialized into XML or JSON and which may be transported over different formats.
HTTP is much more than a simple transport protocol for XML and JSON, it is an application layer protocol with rich semantics. Web API is specifically targetting folks that want to build systems over HTTP that fully levergage HTTP's richness.
Web API embraces that HTTP Resources can have a multitude of representations based on the needs of different clients. One end of the spectrum could be a dumb browser that just talks to a service using a Form url encoded post and a GET, while the other end could be a more rich client that uses Atom/OData or a hypermedia based media type.
Web API embraces that there are other HTTP specific concerns like conneg, etags, etc which allow better leveraging intermediary web servers.
Web API is designed with more testability in mind, thus you can address working with HTTP messages or other concerns in a more testable manner.
Web API has a more simplified configuration story.
You can read more about the rationale here: http://blogs.msdn.com/b/endpoint/archive/2010/11/01/wcf-web-apis-http-your-way.aspx
The most significant difference for me is the change in programming model. You no longer write 'services' which expose 'operations' bound to HTTP idioms (GET, POST etc.). With Web APIs you create 'resources' (POCOs) with which your clients can interact.
Web APIs seem to be better at handling various custom media types (like PNG images for example).
Last but not least, Web APIs are far better suited for automated testing. For instance, you no longer have to use static context classes to access HTTP concepts such as response codes. You use POCO request and response classes which can be easily instantiated in automated tests using old-style new() operator.
I agree with Ladislav that Web APIs are just a preview now and building application on top of it can be both risky and forbidden by the means of license agreement (but I haven't checked that).
Have you considered #serialseb's OpenRasta? It is stable and offers very nice programming model for building RESTful services.
The Web API is something like possible future of REST development in WCF. It is just preview which can significantly change before final release (probably in next version of .NET framework). So if you want to build production REST service you should use webHttpBinding.
Available information about Web Api can be found for example on .NET Connected Framework team's blog and on the site you mentioned. It is simplification and extension of current REST API.
Web API provides a REST-friendly HTTP based API. Web API uses the patterns of MVC and is going to be very familiar to ASP.NET MVC developers. Web API can leverage the capabilities of HTTP as an application layer protocol, returning resources in multiple representations (XML, JSON, HTML etc.) according the the client's request headers.
On the other hand WCF webHttpBinding uses the patterns of WCF, and is going to appeal more to the WCF developer - ServiceContracts, OperationContracts, comprehensive (or overweight, depending how you look at it, config file), ability to self-host outside of IIS.
One of the things I like about Web API is the ability to use dynamic types to escape the constraints of the type system. I also like the default exception behavior in Web API - contrast WCF webHttpBinding where, by default, exceptions bubble up as HTTP 500 + an HTML payload (yuk!).
Its nice to have the choice between two excellent technologies here. I wouldn't describe Web API as 'newer' or 'better' that WCF, as this implies its a replacement technology and that WCF webHttpBinding is legacy, which I don't believe is true.
I chose to use WCF webHttpBinding recently to expose a JSON API for an existing WCF SOAP service. I believe it was a good choice because it fitted that style of that existing solution and minimized the amount of change required.