|
Technical Interview Questions
Oracle Interview Questions
MySql
Interview Questions
MsSql Interview Questions
JDBC
Interview Questions
.........More
Soft Skills
Communication Skills
Leadership Skills
.........More
|
|
Web Service Interview Questions and Answers
What is SOAP?
SOAP is an XML-based protocol for exchanging information
between computers. Although SOAP can be used in a
variety of messaging systems and can be delivered via a
variety of transport protocols, the main focus of SOAP
is Remote Procedure Calls (RPC) transported via HTTP.
Like XML-RPC, SOAP is platform independent, and
therefore enables diverse applications to communicate
with one another.
To get a quick sense of SOAP, here is a sample SOAP
request to a weather service (with the HTTP Headers
omitted):
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getWeather
xmlns:ns1="urn:examples:weatherservice"
SOAP-ENV:encodingStyle="
http://www.w3.org/2001/09/soap-encoding
<zipcode xsi:type="xsd:string">10016</zipcode>
</ns1:getWeather>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
As you can see, the request is slightly more complicated
than XML-RPC and makes use of both XML namespaces and
XML Schemas. Much like XML-RPC, however, the body of the
request specifies both a method name (getWeather), and a
list of parameters (zipcode).
Here is a sample SOAP response from the weather service:
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getWeatherResponse
xmlns:ns1="urn:examples:weatherservice"
SOAP-ENV:encodingStyle="http://www.w3.org/2001/09/soap-encoding">
<return xsi:type="xsd:int">65</return>
</ns1:getWeatherResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The response indicates a single integer return value
(the current temperature).
The World Wide Web Consortium (W3C) is in the process of
creating a SOAP standard. The latest working draft is
designated as SOAP 1.2, and the specification is now
broken into two parts. Part 1 describes the SOAP
messaging framework and envelope specification. Part 2
describes the SOAP encoding rules, the SOAP-RPC
convention, and HTTP binding details.
What is WSDL?
The Web Services Description Language (WSDL) currently
represents the service description layer within the Web
service protocol stack.
In a nutshell, WSDL is an XML grammar for specifying a
public interface for a Web service. This public
interface can include the following:
Information on all publicly available functions.
Data type information for all XML messages.
Binding information about the specific transport
protocol to be used.
Address information for locating the specified service.
WSDL is not necessarily tied to a specific XML messaging
system, but it does include built-in extensions for
describing SOAP services.
Below is a sample WSDL file. This file describes the
public interface for the weather service used in the
SOAP example above. Obviously, there are many details to
understanding the example. For now, just consider two
points.
First, the <message> elements specify the individual XML
messages that are transferred between computers. In this
case, we have a getWeatherRequest and a
getWeatherResponse. Second, the element specifies that
the service is available via SOAP and is available at a
specific URL.
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="WeatherService"
targetNamespace="http://www.ecerami.com/wsdl/WeatherService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.ecerami.com/wsdl/WeatherService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<message name="getWeatherRequest">
<part name="zipcode" type="xsd:string"/>
</message>
<message name="getWeatherResponse">
<part name="temperature" type="xsd:int"/>
</message>
<portType name="Weather_PortType">
<operation name="getWeather">
<input message="tns:getWeatherRequest"/>
<output message="tns:getWeatherResponse"/>
</operation>
</portType>
<binding name="Weather_Binding" type="tns:Weather_PortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getWeather">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:weatherservice"
use="encoded"/>
</input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:examples:weatherservice"
use="encoded"/>
</output>
</operation>
</binding>
<service name="Weather_Service">
<documentation>WSDL File for Weather
Service</documentation>
<port binding="tns:Weather_Binding" name="Weather_Port">
<soap:address
location="http://localhost:8080/soap/servlet/rpcrouter"/>
</port>
</service>
</definitions>
Using WSDL, a client can locate a Web service, and
invoke any of the publicly available functions. With
WSDL-aware tools, this process can be entirely
automated, enabling applications to easily integrate new
services with little or no manual code. For example,
check out the GLUE platform from the Mind Electric.
WSDL has been submitted to the W3C, but it currently has
no official status within the W3C. See this W3C page for
the latest draft.
Page Numbers
:
1
2
3
Have a Question ?
post your questions here. It
will be answered as soon as possible.
Check
HTML Interview
Questions for more HTML Interview Questions with Answers
Check
Job Interview Questions
for more Interview Questions with Answers
|