Adds

Monday, June 8, 2015

Simple way to create WSDL contract by hand.




Simple way to  create WSDL contract by hand...

 
Almost everyone agrees that SOAP webservices should be created contract first. One of the main arguments for not using contract first (WSDL first) web service development is that it requires the programmer to learn new technology. This post will try to explain the process of creating a WSDL contract by hand. In later posts I will explain how to use that WSDL to create Java (CXF) and .Net (WCF) based solutions (both server and client side).  

Developing WSDL can be done in few simple steps:

  •   Design basic objects (create XSD). 
  •   Design basic methods (create XSD). 
  •   Create WSDL file.


 Before creating a web service it is good to know what that web service should do.
In this example we will create a contract (WSDL) that will save a document and the information about document's author to the backend
.
Before we start writing xsd lets agree on fields:

  • docImage – will be the actual PDF document
  • docTitle – will be the title of the document
  • docAuthor – will be the author of the document
  • docFiledDate – will be the date the document was filed ( not submitted by user, the date is set by server upon receiving the document.


So the docImage will be a binary file (PDF for example), docTitle a string, docAuthor an object etc.
First we will need to create a types file. This will be a file where we will define basic objects that will be used by our web services (below code from file Types_V_1.xsd):


Above we just defined fields that will be sent from or to server.
So now that we did the hardest part of the work the cookie-cutter part begins (method file Methods_V_1.xsd):



Please note in the above code that we used the types defined earlier now to define request and response methods. 

The last item we need to create is a WSDL file  (Example_V_1.wsdl). Please notice how all the method specific settings are created from the base method name : submitDocument. If we wanted to add more methods we would copy the existing block in messages, port types, and bindings and rename with new base method name ( while keeping Request/Response parts).



Please note that when adding more methods we would add entry into each of the above segments (messages,port types and bindings). Each method would have base name and we would just add Request/Response as needed.


Now we have a clean WSDL contract that is platform independent. It is divided into 3 files. The methods file is very helpful for generating documentation and for discussion of required content (what fields are needed etc). There are many tools that will generate this documentation for you.



1 comment:

  1. They keep betting even after they lose, blaming losses on bad luck or bad performances by gamers, coaches, or referees. In 1919, the Chicago White Sox faced the Cincinnati Reds within the World Series. This sequence would go down as one of the largest sports scandals of all time. As the story goes, skilled gambler Joseph Sullivan paid eight members of the White Sox round 10,000 dollars every to fix the World Series. All eight gamers were banned from enjoying in} skilled baseball for the rest of|the remainder of} their lives. Pete Rose, the 우리카지노 all-time MLB chief in hits, was similarly banned from baseball in 1989 for betting on video games whereas he was an MLB manager.

    ReplyDelete