Transcript here - CS
Web Service - Demo
Oren Shamir
Gal Moshitch
Goals
Set up the environment
Create web service from scratch in VS.Net
Test the web service
View the auto generated WSDL
Create a c# .Net client application
Create a java client application
Create a C client application using GSOAP
Create a windows forms .net application that
consumes Amazon web services
Setup (server side)
Requirements
web server
Web services infrastructure
Accepts and send http messages
Security mechanism
Parsing SOAP requests and call the web methods
Package return value as SOAP response and send it to
the client
Automatic creation of WSDL
Aim - environment in which we can easily
Create and deploy web services
Publish web services
Test web services
Installation (server side)
Install web server
Install web services infrastructure
Install and run a web server (IIS/Tomcat)
Create a site for the web service
To use ASP.Net – Install .Net framework
To use Axis – install axis environment
In windows almost everything can be done
automatically using Visual Studio .Net
Creating a Simple Web Service
Environment
Create a web service application (.asmx)
Class inherits from WebService (optional)
Create a Hello method
IIS
ASP.Net
Visual Studio .Net
Add [WebMethod] attribute
Add a string argument to the method
Use the http post to test the service
Auto Generated WSDL
Created and exposed by the web service
infrastructure
XML file that defines the web service
<portType> - The operations performed by the web
service
<message> - The messages used by the web
service
<types> - The data types used by the web service
<binding> -The communication protocols used by
the web service
Adding User Defined Types
Define a new type
Create a web service that uses the new type
The new type must be serializable
The type that the web service exposes
includes all the serializable properties
Publish the Web Service
Using UDDI
Universal Discovery, Description, and Integration
visit the UDDI web site and register your service
there
Using DISCO – Microsoft tool for discovering
web services
Windows Forms .Net Client
Create a new windows application using
Visual Studio .Net
Add a web reference to the project
This will automatically generate proxy to the web
service
The proxy is actually generated using the a
command line tool called wsdl.exe
The proxy can be used to make synchronous
and asynchronous requests.
If the services uses a user defined type, a
class for that type is also generated
Java Client Application
Axis provides tool for creating proxy to a web
service according to the web service’s WSDL
To create proxy run:
java org.apache.axis.wsdl.WSDL2Java (WSDL-file-URL)
The tool creates
Class for each type
Interface for all the portTypes
A stub class for each binding
A service interface and a service interface
implementation for each service
C Client Application
GSOAP provides tools for web services
Wsdl2h generates header file for the WSDL
To create a pure c header run:
wsdl2h –c <wsdl-file-or-url> -o <output-header>
soapcpp2 creates a stub (client proxy to the server) and
skeleton for the web service
To create pure c sources run:
soapcpp2 –c <header-file-name>
Add a tester that will call the web service
Include soapH.h and <server-name>.nsmap
Call soap_init
Call web service using the proxy functions
Call soap_end and soap_done
To compile the application run:
gcc –o <output> <tester-file> soapC.c soapClient.c stdsoap2.c
Creating an Amazon Client
Add a web reference to Amazon WSDL http://soap.amazon.com/schemas2/AmazonWebServices.wsdl
Use the proxy to
Query Amazon products
Manipulate the shopping cart
etc...