SlideShare uma empresa Scribd logo
1 de 47
WEB SERVICES
LEARNING OUTCOMES
 At the end of this class, YOU should be able to : Describe the role of web services
 List component of web services
 List the specifications used to make web services platform independent
DISTRIBUTED COMPUTING ISSUE
 Software application written in various languages
 Running on multiple platform
 Data exchange problem
 Issue : To exchange data over the internet using similar manner to

inter process communication in a single computer.
WHAT IS A WEB SERVICE?
 Can be defined as : software functionality that can be invoked

through the internet using common protocols
 A remote component resides in remote web server
 Something like a remote function that can be called by a program through a

web server
 Accept parameters and produce results (service output)
 Service output often not HTML rather XML, text or other contents type

 Allow application developed using different languages to exchange

information
CONSTRAINED BY TECHNOLOGY
LEVERAGE HTTP
ROLE OF WEB SERVICE
 Expose a remote service or executable procedure to a client

application
 Service requestor
 Web services are designed to be platform independent
 No CPU, OS or programming language specific is required for web services

 Leverage existing technology
 Extensive use of HTTP and XML

 Interoperable across disparate programming language
 It is possible a client written in one programming language communicating

with server written in different language
WHERE WEB SERVICES ARE
USED?
 Within an enterprise (Enterprise Application Integration)
 Accelerate and reduce cost of integration
 Cost saving on infrastructure deployment and management
 Reduce skill requirements
 Improve reuse

 Between enterprises (E-business integration, B2B)
 Providing service to company’s customers
 Accessing services from company partners and suppliers
 Reduce standard barriers
WEB SERVICE CONTEXT
World Wide Web

Components

Web Service
Distributed Objects

Standards
WEB SERVICE
CONCEPTUAL ARCHITECTURE
Service
Registry
Find

Service
Requestor

Service
Description

Publish

Bind

Service
Provider

Servic
e
Service
Description
WEB SERVICES CORE XML
SPECIFICATION
 Web Services Definition Language (WSDL)
 Simple Object Access Protocol (SOAP)
 Universal Description, Discovery and Integration (UDDI)
WEB SERVICE
COMPONENT - ARCHITECTURE
MAPPING
Service
Service
Registry
Find

Description

In UDDI

Publish
Using
SOAP

Service
Requestor

Bind

In Your
Language

Service
Provider

Servic
e
Service
Description

In WSDL
RELATIONSHIP BETWEEN STANDARDS
Searching for a service (UDDI)

http://www.uudi.org

UDDI

Link to WSDL document

Web
Service

Contract Agreement (WSDL)

http://yourservice.com/?WSDL

Client

Web
Service

WSDL Web Service Contract

Communication (SOAP)

http://yourservice.com/svcA

XML/SOAP Body
INTERACTION BETWEEN WEB SERVER
AND CLIENT
UDDI Directory
Registered Web Service

Web Service Provider

white

1. Declare service to UDDI

yellow

Web
Server

WSDL
WSDL
Description
Description

Web
Servic
e

2. Client look for a
service in UDDI register
3. Download WSDL
service to generate
proxy or stub for the
web service

Web
Servic
e

WSDL
Description
Busines
s Object

Generated
Stub

Web Service Client

3. Client invoke web
service through proxy
sending/receiving SOAP
message

Application
Server
Busines
s Object
Busines
s Object
Busines
s Object

EAI &
Connector

yellow

Back
Office
and
Enterpris
e System
WEB SERVICE DEFINITION LANGUAGE
(WSDL)
 Web service need to be defined in order to be discovered by and

interfaced with other services and application
 WSDL : defined a web service and how to access them
 Define the location of the service
 The operations the service exposes
 Communicates using open protocols
 Can be discovered using UDDI
WSDL DOCUMENT STRUCTURE
 Abstract Part : describes
 The message it sends and

receives
 The operation associates a

message exchange pattern
with one or more message

 Concrete Part: specifies

WSDL Specification
Abstract Part
types
messages
operations

port types

 Transport and wire format

details for one or more
interfaces
 A port (end point) associates a

network address with a binding
 A service which groups

together end points that
implement a common interface

Concrete Part
bindings
services and ports
WSDL DOCUMENT STRUCTURE
<definitions>
<types>Define data types used by the web service</types>

<message>A group of related input/output </message>
<portType>
The operation performed by the web services
</portType>
<binding>
The element defines the message format and protocol
details for each port
</binding>
<service>Define operation expose by each port</service>

</definition>
<message>
 A group of related input and output messages
 <message> define parts and its associated type
<message name = “OrderMsg”>
<part name=“productName” type=“xs:string” />
<part name=“quantity” type=“xs:integer” />
</message>
<message name = “OrderResponseMsg”>
<part name=“orderId” type=“xs:integer” />
</message>
<portType>
 Elements that defines operations which are made up of messages
 The operation performed by the web services
 Comparable to a library in traditional programming
<portType name=“procurementPortType”>
<operation name=“orderGoods”>

<input message=“OrderMsg” />
<output message=“OrderResponseMsg” />
</operation>
</portType>
COMPARABLE TO TRADITIONAL
PROGRAMMING
 “procurementPortType” is comparable to function library
 “orderGoods” is comparable to a function with “OrderMsg” as

input parameter and “OrderResponseMsg” as return type
OPERATION TYPE
Type

Definition

One-way

The operation can receive a message but
will not return a response
The operation can receive a request and
will return a response
The operation can send a request and will
wait for a response
The operation can send a message but will
not wait for a response

Request-response
Solicit-response
Notification
REQUEST-RESPONSE
<message name = “OrderMsg”>
<part name=“productName” type=“xs:string” />
<part name=“quantity” type=“xs:integer” />
</message>
<message name = “OrderResponseMsg”>
<part name=“orderId” type=“xs:integer” />
</message>

<portType name=“procurementPortType”>
<operation name=“orderGoods”>
<input message=“OrderMsg” />
</operation>
</portType>
ONE WAY OPERATION
<message name = “OrderMsg”>
<part name=“productName” type=“xs:string” />
<part name=“quantity” type=“xs:integer” />
</message>
<portType name=“procurementPortType”>
<operation name=“orderGoods”>
<input message=“OrderMsg” />
<output message=“OrderResponseMsg” />
</operation>
</portType>
<binding>
 This element defines the message format and protocol details for

each port
 Attributes in <bindings>
 type : name of port type
 name : bindings name

 Sub Element of <bindings>


soap:binding
 style: “rpc” / “document”
 transport (Communication protocol: SOAP, Transport protocol : HTTP/SMTP)

 operation:
 Define operation that the port exposes
 Must specify how input and output encoded
<binding>
<binding name=“ProcurementSoapBinding” type=“tns:procurementPortType”>
<soap:binding style=“document”
transport=“http://schemas.xmlsoap.org/soap/http” />
<operation name=“orderGoods” >
<soap:operation soapAction=“http://example.com/orderGoods” />
<input>
<soap:body use=“literal” />

</input>
<output>
<soap:body use=“literal” />
</output>
</operation>
</binding>
<service>
 A service may have more than one end point, with each one

defined by its own port
 The port elements corresponds to a particular binding and

includes information on how to access it.
<service name=“ProcurementService”>
<port name=“ProcurementPort” binding=“tns:ProcurementSoapBinding”>
<soap:address location=“http://example.com/procurement” />
</port>
</service>
<?xml version="1.0"?>
<definitions name="Procurement"
targetNamespace="http://example.com/procurement/definitions"
xmlns:tns="http://example.com/procurement/definitions"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/" >
<message name="OrderMsg">
<part name="productName" type="xs:string"/>
<part name="quantity" type="xs:integer"/>
</message>

<binding name="ProcurementSoapBinding" type="tns:procurementPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="orderGoods">
<soap:operation soapAction="http://example.com/orderGoods"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="ProcurementService">
<port name="ProcurementPort" binding="tns:ProcurementSoapBinding">
<soap:address location="http://example.com/procurement"/>
</port>
</service>
</definitions>

messages

operation and
port type

concrete
part
binding

port and
service

Copyright Springer Verlag Berlin Heidelberg 2004

<portType name="procurementPortType">
<operation name="orderGoods">
<input message = "OrderMsg"/>
</operation>
</portType>

abstract
part
UNIVERSAL DESCRIPTION,
DISCOVERY AND INTEGRATION (UDDI)
 UDDI – platform independent framework to
 describe services,
 discover businesses,
 integrate business services by using the Internet

 Directory for storing information about web services
 Directory of web service interfaces described by WSDL

 Communicates via SOAP
SIMPLE OBJECT ACCESS PROTOCOL
(SOAP)
 SOAP is a protocol for accessing a Web Service
 Communication protocol
 For communication between applications
 Format for sending messages
WHY SOAP?
 RPC is used to communicate between objects like CORBA and

DCOM
 HTTP is not designed for this
 RPC represents a compatibility but with drawbacks.
 Security problem -firewalls and proxy servers will normally block this kind of

traffic

 SOAP is a better way to communicate between application using

HTTP
 HTTP is supported by all web browsers
SOAP DOCUMENT STRUCTURE
 Envelope

SOAP ENVELOPE

 element that identifies the XML

document as a SOAP message

 Header
 element that contains header

information

 Body
 element that contains call and

response information

 Fault
 element containing errors and

status information

Header
Body
Fault
SOAP DOCUMENT STRUCTURE
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
Contains application-specific information about the SOAP message
</soap:Header>
<soap:Body>
Contains the actual SOAP message
<soap:Fault>
Used to indicate error messages
</soap:Fault>
</soap:Body>
</soap:Envelope>
<soap:Envelope>
 Root element of a SOAP message
 Defines the XML document as a SOAP message

defines the Envelope as a
SOAP Envelope

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle=http://www.w3.org/2001/12/soapencoding >
•

</soap:Envelope>

•
•

Used to define the data types used
in the document
May appear on any SOAP element,
and applies to the element's contents
and all child elements
A SOAP message has no default
encoding
<soap:Header>
 Contains application-specific information (like authentication,

payment, etc) about the SOAP message
 Attributes of <soap:Header>
 mustUnderstand
 actor
 encodingStyle

defines how a recipient should process the
SOAP message
mustUnderstand
 Indicate whether a header entry is mandatory or optional for the

recipient to process
 Syntax = soap:mustUnderstand="0|1"
 1 : the SOAP server and the node that receives the message

containing the header block must be able to process it correctly or
issue an appropriate fault messsage
<soap:Header>
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:mustUnderstand="1">234
</m:Trans>
</soap:Header>
actor
 Used to address the Header element to a specific endpoint

<soap:Header>
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:actor="http://www.w3schools.com/appml/">234
</m:Trans>
</soap:Header>
<soap:Body>
 Contains the actual SOAP message
requests the price of apples

<soap:Body>

applicationspecific
elements

<m:GetPrice xmlns:m="http://www.w3schools.com/prices">
<m:Item>Apples</m:Item>
</m:GetPrice>
</soap:Body>
<soap:Body>
 Contains the actual SOAP message

<soap:Body>

applicationspecific
elements

<m:GetPrice xmlns:m="http://www.w3schools.com/prices">
<m:Item>Apples</m:Item>
</m:GetPrice>
</soap:Body>
A RESPONSE COULD LOOK LIKE
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body>
<m:GetPriceResponse
xmlns:m="http://www.w3schools.com/prices">
<m:Price>1.90</m:Price>
</m:GetPriceResponse>
</soap:Body>
</soap:Envelope>
<soap:Fault>
 To indicate error messages
 Must appear as a child element of the Body element.
 A Fault element can only appear once in a SOAP message
<soap:Fault> SUB ELEMENTS
Sub Element

Description

<faultcode>

A code for identifying the fault

<faultstring>

A human readable explanation of the fault

<faultactor>

Information about who caused the fault to happen

<detail>

Holds application specific error information related to the Body
element
<soap:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Message does not have necessary info</faultstring>

<faultactor>http://gizmos.com/order</faultactor>
<detail>
<PO:order xmlns:PO="http://gizmos.com/orders/">
Quantity element does not have a value</PO:order>
<PO:confirmation xmlns:PO="http://gizmos.com/confirm">
Incomplete address: no zip code</PO:confirmation>
</detail>
<soap:Fault> CODES
Error

Description

VersionMismatch

Found an invalid namespace for the SOAP Envelope element

MustUnderstand

An immediate child element of the Header element, with the
mustUnderstand attribute set to "1", was not understood
The message was incorrectly formed or contained incorrect
information
There was a problem with the server so the message could not
proceed

Client
Server
BINDING SOAP WITH A TRANSFER
PROTOCOL
 SOAP binding describes how a SOAP message is carried in a transport

protocol (eg., HTTP, SMTP or FTP).
 For example, to bind SOAP to HTTP:
 A SOAP request is wrapped inside an HTTP POST
 The HTTP POST request species at least two HTTP headers:


Content-Type and



Content-Length.

 Content-Type: defines the MIME type for the SOAP message and the character encoding

(optional) used
 Content-Length: specifies the number of bytes in the body of the SOAP request or

response.

 Example
POST /stockquote HTTP/1.1
Content-Type: text/xml; charset=utf-8
Content-Length: 482
BINDING SOAP WITH A TRANSFER
PROTOCOL
Service Provider

HTTP Post Request

SOA
P
Engin
e

HTTP
Engin
e

HTTP Response

SOAP Envelope

SOAP Envelope

SOAP Header

SOAP Header

SOAP Body

SOAP Body

Method Request Name

Method Return

param1

Return param

param2

Service Requestor
SOA
P
Engin
e

HTTP
Engin
e
Host: www.stockquoteserver.com
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI“
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding >
<soap:Header>
<m:Trans xmlns:m="http://www.w3schools.com/transaction/"
soap:mustUnderstand="1">234
</m:Trans>
</soap:Header>
<soap:Body>
<m:GetPrice xmlns:m="http://www.w3schools.com/prices">

<m:Item>Apples</m:Item>
</m:GetPrice>
</soap:Body>
</soap:Envelope>

BINDING SOAP TO HTTP REQUEST

POST /StockQuote HTTP/1.1
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body>
<m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices">
<m:Price>1.90</m:Price>
</m:GetPriceResponse>
</soap:Body>
</soap:Envelope>

BINDING SOAP TO HTTP RESPONSE

HTTP/1.1 200 OK

Mais conteúdo relacionado

Mais procurados

Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesIMC Institute
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...ecosio GmbH
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservicesGagandeep Singh
 
Web services
Web servicesWeb services
Web servicesaspnet123
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaJignesh Aakoliya
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIIMC Institute
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
web service technologies
web service technologiesweb service technologies
web service technologiesYash Darak
 
Xml web services
Xml web servicesXml web services
Xml web servicesRaghu nath
 
Cloud computing 20 service modelling
Cloud computing 20 service modellingCloud computing 20 service modelling
Cloud computing 20 service modellingVaibhav Khanna
 
Web services
Web services Web services
Web services BTailor
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Martin Necasky
 

Mais procurados (20)

Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web Services
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Web services wsdl
Web services wsdlWeb services wsdl
Web services wsdl
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Webservices
WebservicesWebservices
Webservices
 
Web Service
Web ServiceWeb Service
Web Service
 
Web services
Web servicesWeb services
Web services
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDI
 
Web service introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
 
Web Services
Web ServicesWeb Services
Web Services
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
web service technologies
web service technologiesweb service technologies
web service technologies
 
Xml web services
Xml web servicesXml web services
Xml web services
 
Cloud computing 20 service modelling
Cloud computing 20 service modellingCloud computing 20 service modelling
Cloud computing 20 service modelling
 
Web services
Web services Web services
Web services
 
Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)Web Services - Architecture and SOAP (part 1)
Web Services - Architecture and SOAP (part 1)
 

Semelhante a Web services

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Servicesphanleson
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesVaibhav Khanna
 
Web service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National WokshopWeb service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National WokshopNishikant Taksande
 
AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axisgauravashq
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqmanguesteb791b
 
Exposing EJBs As Web Services
Exposing EJBs As Web ServicesExposing EJBs As Web Services
Exposing EJBs As Web ServicesSubin Sugunan
 
Web programming
Web programmingWeb programming
Web programmingsowfi
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technologysanjoysanyal
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technologysanjoysanyal
 
webservices overview
webservices overviewwebservices overview
webservices overviewelliando dias
 
Web services for developer
Web services for developerWeb services for developer
Web services for developerRafiq Ahmed
 

Semelhante a Web services (20)

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
Cloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in servicesCloud computing 22 soap and uddi in services
Cloud computing 22 soap and uddi in services
 
Web service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National WokshopWeb service- Guest Lecture at National Wokshop
Web service- Guest Lecture at National Wokshop
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
WSDL
WSDLWSDL
WSDL
 
AK 3 web services using apache axis
AK 3   web services using apache axisAK 3   web services using apache axis
AK 3 web services using apache axis
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Exposing EJBs As Web Services
Exposing EJBs As Web ServicesExposing EJBs As Web Services
Exposing EJBs As Web Services
 
Web programming
Web programmingWeb programming
Web programming
 
Web Services
Web Services Web Services
Web Services
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
Topic6 Basic Web Services Technology
Topic6 Basic Web Services TechnologyTopic6 Basic Web Services Technology
Topic6 Basic Web Services Technology
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
Web services for developer
Web services for developerWeb services for developer
Web services for developer
 
Webservices
WebservicesWebservices
Webservices
 
Web services
Web services Web services
Web services
 
Web services overview
Web services overviewWeb services overview
Web services overview
 
Wsdl
WsdlWsdl
Wsdl
 

Mais de Nur Aqilah Ahmad Khairi (8)

Boston matrix analysis
Boston matrix analysisBoston matrix analysis
Boston matrix analysis
 
Sains pemakanan dalam islam
Sains pemakanan dalam islamSains pemakanan dalam islam
Sains pemakanan dalam islam
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
The effects of social interaction to productivity at work
The effects of social interaction to productivity at workThe effects of social interaction to productivity at work
The effects of social interaction to productivity at work
 
Customer intimacy
Customer intimacyCustomer intimacy
Customer intimacy
 
Software project management
Software project managementSoftware project management
Software project management
 
Asp.net
Asp.netAsp.net
Asp.net
 
The information systems life cycle
The information systems life cycleThe information systems life cycle
The information systems life cycle
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

Web services

  • 2. LEARNING OUTCOMES  At the end of this class, YOU should be able to : Describe the role of web services  List component of web services  List the specifications used to make web services platform independent
  • 3. DISTRIBUTED COMPUTING ISSUE  Software application written in various languages  Running on multiple platform  Data exchange problem  Issue : To exchange data over the internet using similar manner to inter process communication in a single computer.
  • 4. WHAT IS A WEB SERVICE?  Can be defined as : software functionality that can be invoked through the internet using common protocols  A remote component resides in remote web server  Something like a remote function that can be called by a program through a web server  Accept parameters and produce results (service output)  Service output often not HTML rather XML, text or other contents type  Allow application developed using different languages to exchange information
  • 7. ROLE OF WEB SERVICE  Expose a remote service or executable procedure to a client application  Service requestor  Web services are designed to be platform independent  No CPU, OS or programming language specific is required for web services  Leverage existing technology  Extensive use of HTTP and XML  Interoperable across disparate programming language  It is possible a client written in one programming language communicating with server written in different language
  • 8. WHERE WEB SERVICES ARE USED?  Within an enterprise (Enterprise Application Integration)  Accelerate and reduce cost of integration  Cost saving on infrastructure deployment and management  Reduce skill requirements  Improve reuse  Between enterprises (E-business integration, B2B)  Providing service to company’s customers  Accessing services from company partners and suppliers  Reduce standard barriers
  • 9. WEB SERVICE CONTEXT World Wide Web Components Web Service Distributed Objects Standards
  • 11. WEB SERVICES CORE XML SPECIFICATION  Web Services Definition Language (WSDL)  Simple Object Access Protocol (SOAP)  Universal Description, Discovery and Integration (UDDI)
  • 12. WEB SERVICE COMPONENT - ARCHITECTURE MAPPING Service Service Registry Find Description In UDDI Publish Using SOAP Service Requestor Bind In Your Language Service Provider Servic e Service Description In WSDL
  • 13. RELATIONSHIP BETWEEN STANDARDS Searching for a service (UDDI) http://www.uudi.org UDDI Link to WSDL document Web Service Contract Agreement (WSDL) http://yourservice.com/?WSDL Client Web Service WSDL Web Service Contract Communication (SOAP) http://yourservice.com/svcA XML/SOAP Body
  • 14. INTERACTION BETWEEN WEB SERVER AND CLIENT UDDI Directory Registered Web Service Web Service Provider white 1. Declare service to UDDI yellow Web Server WSDL WSDL Description Description Web Servic e 2. Client look for a service in UDDI register 3. Download WSDL service to generate proxy or stub for the web service Web Servic e WSDL Description Busines s Object Generated Stub Web Service Client 3. Client invoke web service through proxy sending/receiving SOAP message Application Server Busines s Object Busines s Object Busines s Object EAI & Connector yellow Back Office and Enterpris e System
  • 15. WEB SERVICE DEFINITION LANGUAGE (WSDL)  Web service need to be defined in order to be discovered by and interfaced with other services and application  WSDL : defined a web service and how to access them  Define the location of the service  The operations the service exposes  Communicates using open protocols  Can be discovered using UDDI
  • 16. WSDL DOCUMENT STRUCTURE  Abstract Part : describes  The message it sends and receives  The operation associates a message exchange pattern with one or more message  Concrete Part: specifies WSDL Specification Abstract Part types messages operations port types  Transport and wire format details for one or more interfaces  A port (end point) associates a network address with a binding  A service which groups together end points that implement a common interface Concrete Part bindings services and ports
  • 17. WSDL DOCUMENT STRUCTURE <definitions> <types>Define data types used by the web service</types> <message>A group of related input/output </message> <portType> The operation performed by the web services </portType> <binding> The element defines the message format and protocol details for each port </binding> <service>Define operation expose by each port</service> </definition>
  • 18. <message>  A group of related input and output messages  <message> define parts and its associated type <message name = “OrderMsg”> <part name=“productName” type=“xs:string” /> <part name=“quantity” type=“xs:integer” /> </message> <message name = “OrderResponseMsg”> <part name=“orderId” type=“xs:integer” /> </message>
  • 19. <portType>  Elements that defines operations which are made up of messages  The operation performed by the web services  Comparable to a library in traditional programming <portType name=“procurementPortType”> <operation name=“orderGoods”> <input message=“OrderMsg” /> <output message=“OrderResponseMsg” /> </operation> </portType>
  • 20. COMPARABLE TO TRADITIONAL PROGRAMMING  “procurementPortType” is comparable to function library  “orderGoods” is comparable to a function with “OrderMsg” as input parameter and “OrderResponseMsg” as return type
  • 21. OPERATION TYPE Type Definition One-way The operation can receive a message but will not return a response The operation can receive a request and will return a response The operation can send a request and will wait for a response The operation can send a message but will not wait for a response Request-response Solicit-response Notification
  • 22. REQUEST-RESPONSE <message name = “OrderMsg”> <part name=“productName” type=“xs:string” /> <part name=“quantity” type=“xs:integer” /> </message> <message name = “OrderResponseMsg”> <part name=“orderId” type=“xs:integer” /> </message> <portType name=“procurementPortType”> <operation name=“orderGoods”> <input message=“OrderMsg” /> </operation> </portType>
  • 23. ONE WAY OPERATION <message name = “OrderMsg”> <part name=“productName” type=“xs:string” /> <part name=“quantity” type=“xs:integer” /> </message> <portType name=“procurementPortType”> <operation name=“orderGoods”> <input message=“OrderMsg” /> <output message=“OrderResponseMsg” /> </operation> </portType>
  • 24. <binding>  This element defines the message format and protocol details for each port  Attributes in <bindings>  type : name of port type  name : bindings name  Sub Element of <bindings>  soap:binding  style: “rpc” / “document”  transport (Communication protocol: SOAP, Transport protocol : HTTP/SMTP)  operation:  Define operation that the port exposes  Must specify how input and output encoded
  • 25. <binding> <binding name=“ProcurementSoapBinding” type=“tns:procurementPortType”> <soap:binding style=“document” transport=“http://schemas.xmlsoap.org/soap/http” /> <operation name=“orderGoods” > <soap:operation soapAction=“http://example.com/orderGoods” /> <input> <soap:body use=“literal” /> </input> <output> <soap:body use=“literal” /> </output> </operation> </binding>
  • 26. <service>  A service may have more than one end point, with each one defined by its own port  The port elements corresponds to a particular binding and includes information on how to access it. <service name=“ProcurementService”> <port name=“ProcurementPort” binding=“tns:ProcurementSoapBinding”> <soap:address location=“http://example.com/procurement” /> </port> </service>
  • 27. <?xml version="1.0"?> <definitions name="Procurement" targetNamespace="http://example.com/procurement/definitions" xmlns:tns="http://example.com/procurement/definitions" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" > <message name="OrderMsg"> <part name="productName" type="xs:string"/> <part name="quantity" type="xs:integer"/> </message> <binding name="ProcurementSoapBinding" type="tns:procurementPortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="orderGoods"> <soap:operation soapAction="http://example.com/orderGoods"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="ProcurementService"> <port name="ProcurementPort" binding="tns:ProcurementSoapBinding"> <soap:address location="http://example.com/procurement"/> </port> </service> </definitions> messages operation and port type concrete part binding port and service Copyright Springer Verlag Berlin Heidelberg 2004 <portType name="procurementPortType"> <operation name="orderGoods"> <input message = "OrderMsg"/> </operation> </portType> abstract part
  • 28. UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION (UDDI)  UDDI – platform independent framework to  describe services,  discover businesses,  integrate business services by using the Internet  Directory for storing information about web services  Directory of web service interfaces described by WSDL  Communicates via SOAP
  • 29. SIMPLE OBJECT ACCESS PROTOCOL (SOAP)  SOAP is a protocol for accessing a Web Service  Communication protocol  For communication between applications  Format for sending messages
  • 30. WHY SOAP?  RPC is used to communicate between objects like CORBA and DCOM  HTTP is not designed for this  RPC represents a compatibility but with drawbacks.  Security problem -firewalls and proxy servers will normally block this kind of traffic  SOAP is a better way to communicate between application using HTTP  HTTP is supported by all web browsers
  • 31. SOAP DOCUMENT STRUCTURE  Envelope SOAP ENVELOPE  element that identifies the XML document as a SOAP message  Header  element that contains header information  Body  element that contains call and response information  Fault  element containing errors and status information Header Body Fault
  • 32. SOAP DOCUMENT STRUCTURE <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Header> Contains application-specific information about the SOAP message </soap:Header> <soap:Body> Contains the actual SOAP message <soap:Fault> Used to indicate error messages </soap:Fault> </soap:Body> </soap:Envelope>
  • 33. <soap:Envelope>  Root element of a SOAP message  Defines the XML document as a SOAP message defines the Envelope as a SOAP Envelope <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle=http://www.w3.org/2001/12/soapencoding > • </soap:Envelope> • • Used to define the data types used in the document May appear on any SOAP element, and applies to the element's contents and all child elements A SOAP message has no default encoding
  • 34. <soap:Header>  Contains application-specific information (like authentication, payment, etc) about the SOAP message  Attributes of <soap:Header>  mustUnderstand  actor  encodingStyle defines how a recipient should process the SOAP message
  • 35. mustUnderstand  Indicate whether a header entry is mandatory or optional for the recipient to process  Syntax = soap:mustUnderstand="0|1"  1 : the SOAP server and the node that receives the message containing the header block must be able to process it correctly or issue an appropriate fault messsage <soap:Header> <m:Trans xmlns:m="http://www.w3schools.com/transaction/" soap:mustUnderstand="1">234 </m:Trans> </soap:Header>
  • 36. actor  Used to address the Header element to a specific endpoint <soap:Header> <m:Trans xmlns:m="http://www.w3schools.com/transaction/" soap:actor="http://www.w3schools.com/appml/">234 </m:Trans> </soap:Header>
  • 37. <soap:Body>  Contains the actual SOAP message requests the price of apples <soap:Body> applicationspecific elements <m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item> </m:GetPrice> </soap:Body>
  • 38. <soap:Body>  Contains the actual SOAP message <soap:Body> applicationspecific elements <m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item> </m:GetPrice> </soap:Body>
  • 39. A RESPONSE COULD LOOK LIKE <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price> </m:GetPriceResponse> </soap:Body> </soap:Envelope>
  • 40. <soap:Fault>  To indicate error messages  Must appear as a child element of the Body element.  A Fault element can only appear once in a SOAP message
  • 41. <soap:Fault> SUB ELEMENTS Sub Element Description <faultcode> A code for identifying the fault <faultstring> A human readable explanation of the fault <faultactor> Information about who caused the fault to happen <detail> Holds application specific error information related to the Body element
  • 42. <soap:Fault> <faultcode>SOAP-ENV:Client</faultcode> <faultstring>Message does not have necessary info</faultstring> <faultactor>http://gizmos.com/order</faultactor> <detail> <PO:order xmlns:PO="http://gizmos.com/orders/"> Quantity element does not have a value</PO:order> <PO:confirmation xmlns:PO="http://gizmos.com/confirm"> Incomplete address: no zip code</PO:confirmation> </detail>
  • 43. <soap:Fault> CODES Error Description VersionMismatch Found an invalid namespace for the SOAP Envelope element MustUnderstand An immediate child element of the Header element, with the mustUnderstand attribute set to "1", was not understood The message was incorrectly formed or contained incorrect information There was a problem with the server so the message could not proceed Client Server
  • 44. BINDING SOAP WITH A TRANSFER PROTOCOL  SOAP binding describes how a SOAP message is carried in a transport protocol (eg., HTTP, SMTP or FTP).  For example, to bind SOAP to HTTP:  A SOAP request is wrapped inside an HTTP POST  The HTTP POST request species at least two HTTP headers:  Content-Type and  Content-Length.  Content-Type: defines the MIME type for the SOAP message and the character encoding (optional) used  Content-Length: specifies the number of bytes in the body of the SOAP request or response.  Example POST /stockquote HTTP/1.1 Content-Type: text/xml; charset=utf-8 Content-Length: 482
  • 45. BINDING SOAP WITH A TRANSFER PROTOCOL Service Provider HTTP Post Request SOA P Engin e HTTP Engin e HTTP Response SOAP Envelope SOAP Envelope SOAP Header SOAP Header SOAP Body SOAP Body Method Request Name Method Return param1 Return param param2 Service Requestor SOA P Engin e HTTP Engin e
  • 46. Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI“ <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding > <soap:Header> <m:Trans xmlns:m="http://www.w3schools.com/transaction/" soap:mustUnderstand="1">234 </m:Trans> </soap:Header> <soap:Body> <m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item> </m:GetPrice> </soap:Body> </soap:Envelope> BINDING SOAP TO HTTP REQUEST POST /StockQuote HTTP/1.1
  • 47. Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price> </m:GetPriceResponse> </soap:Body> </soap:Envelope> BINDING SOAP TO HTTP RESPONSE HTTP/1.1 200 OK