0) What is a Web Service?
A Web Service is a software functionality that supports machine to machine communication over the world wide web. It generally uses web technology like HTTP for transferring the messages between electronic devices or applications. These messages are mostly in XML and JSON file formats.
A web service is based on the Request-response method.
It can be implemented by either of the two protocols – SOAP (Simple object access protocol) and REST (Representational State Transfer). Both the approaches support XML data transfer.
1) What does Web Service testing include ?
Testing of Web Services includes, understanding the functionality offered by the web service. Basically, a web service’s functionality is described by WSDL (web services description language) file.
Determine the XML request and response format.
Sending request and then validating the response against request sent.
We have both manual and automation testing tools available to test web services.
For manual testing, we need to write our own code that sends a request and validate the response. Quite the reverse, automation testing saves the coding effort.
Having had a basic understanding of the idea of web service testing, we will now discuss in this article about the different web service testing tools available in the market.
1) What are the Web Service Testing tools that are popular out there. ?
Some of the top online tools for web services testing are
LoadUI NG Pro
2) What is new in this field for past few years?
The initiation of XML in this field is the advancement that provides web service a single language to communicate in between the RPCs, web services and their directories.
3) Give me an example of real web service?
One example of web services is IBM Web Services browser. You can get it from IBM Alphaworks site. This browser shows various demos related to web services. Basically web services can be used with the help of SOAP, WSDL, and UDDI . All these, provide a plug-and-play interface for using web services such as stock-quote service, a traffic-report service, weather service etc.
4) How you define web service protocol stack?
It is basically set of various protocols that can be used to explore and execute web services. The entire stack has four layers i.e. Service Transport, XML Messaging, Service Description and Service Discovery.
5) Can you define each of these layers of protocol stack?
The Service Transport layer transfer messages between different applications, such as HTTP, SMTP, FTP, and Blocks Extensible Exchange Protocol (BEEP). The XML Messaging layer encodes messages in XML format so that messages can be understood at each end, such as XML-RPC and SOAP. The Service Description layer describes the user interface to a web service, such as WSDL. The Service Discovery layer centralizes services to a common registry and offer simple publish functionality, such as UDDI.
6) Define XML – RPC?
It is a protocol that makes use of XML messages to do Remote Procedure Calls.
7) Define SOAP?
SOAP is an XML based protocol to transfer between computers.
8) Define WSDL?
It means Web Services Description Language. It is basically the service description layer in the web service protocol stock. The Service Description layer describes the user interface to a web service.
9) What kind of security is needed for web services?
The security level for web services should be more than that of what we say Secure Socket Layer (SSL). This level of security can be only achieved from Entrust Secure Transaction Platform. Web services need this level of security to ensure reliable transactions and secure confidential information .
10) Do you have any idea about foundation security services?
As implies from its name, these services are the foundation or basics of integration, authentication, authorization, digital signatures and encryption processes.
11) Define Entrust Identification Service?
Entrust Identification Service comes from the Entrust Security Transaction Platform. This platform allows companies to control the identities that are trusted to perform transactions for Web services transactions.
12) What UDDI means?
UDDI stands for Universal, Description, Discovery, and Integration. It is the discovery layer in the web services protocol stack.
13) Define Entrust Entitlements Service?
This service verifies entities that attempt to access a web service. For Example, the authentication service, the Entitlements Service ensures security in business operations.
14) Define Entrust Privacy Service?
As its name implies, it deals with security and confidentiality. This service encrypts data to ensure that only concerned parties can access the data.
15) What do you mean by PKI?
It means Public-Key Infrastructure.
16) What tools are used to test a web service?
I have used SoapUI for SOAP WS and Firefox poster plugin for RESTFul Services.
17) Differentiate between a SOA and a Web service?
SOA is a design and architecture to implement other services. SOA can be easily implemented using various protocols such as HTTP, HTTPS, JMS, SMTP, RMI, IIOP, RPC etc. While Web service, itself is an implemented technology. In fact one can implement SOA using the web service.
18) Discuss various approaches to develop SOAP based web service?
We can develop SOAP based web service with two different types of approaches such as contract-first and contract-last. In the first approach, the contract is defined first and then the classes are derived from the contract while in the later one, the classes are defined first and then the contract is derived from these classes.
19) If you have to choose one approach, then what will be your choice?
In my point of view, the first approach that is the contract-first approach is more feasible as compared to the second one but still it depends on other factors too.
20) Is there any special application required to access web service?
No, you don’t need to install any special application to access web service. You can access web service from any application that supports XML based object request and response.
21) Can you name few free and commercial implementations for web services?
The implementations I know are Apache SOAP, JAX-WS Reference Implementation, JAX-RS Reference Implementation, Metro, Apache CXF, MS.NET and Java 6.
22) Name browser that allows access to web service?
23) What is REST?
REST stands for Representational State Transfer. REST itself is not a standard, while it uses various standards such as HTTP, URL, XML/HTML/GIF/JPEG (Resource Representations) and text/xml, text/html, image/gif, image/jpeg, etc (MIME Types).
24) How one can provide API to users?
To provide an API to the users, one can easily do this with an “open table”. All you need to do is to write open table which is basically an XML schema that point to a web service.
25) Name the various communication channels in web service?
Web service is integrated with three protocols such as HTTP/POST, HTTP/GET, and SOAP. It provides three different communication channels to clients. Client can choose any communication method as per requirements.
26) How can you document web service?
Web services are contemplated as self-documenting because they provide entire information regarding the available methods and parameters used for XML based standard, known as WSDL. One can also provide more information to explain web services via their own WebService and WebMethod attributes.
27) What are the situations, when we need ASP.NET web services?
ASP.NET web services are used when one need to implement three tier architecture in a web service. It allows handy ways to use middle tier components through internet. The main advantage of .NET Web services is that they are capable enough to communicate across firewalls because they use SOAP as transport protocol.
28) What are distributed technologies?
The increasing ratio of distributed applications has raised demand for distributed technologies. It allows segmenting of application units and transferring them to different computers on different networks.
29) Differentiate between web services, CORBA and DCOM?
Web services transfer/receive messages to/from application respectively, via HTTP protocol. It uses XML to encode data.
CORBA and DCOM transfer/receive messages to/from application respectively, via non-standard protocols such as IIOP and RPC.
30) Can you tell few benefits of web services?
The biggest advantage of web service is that is supported by wide variety of platforms. Moreover, in near future, web services may spread its boundary and enhance new methods that will provide ease to clients. The enhancement will not affect the clients, even if they offer old methods and parameters.
31) Can you name some standards used in web services?
The standards used in web services are WSDL (used to create interface definition), SOAP (used to structure data), HTTP (communication channels), DISCO (used to create discovery documents) and UDDI (used to create business registries).
32) Explain in brief, what DISCO is?
DISCO means discovery. It groups the list of interrelated web services. The organization that provides web services, issues a DISCO file on its server and that file contains the links of all the provided web services. This standard is good when client knows the company already. Also it can be used within a local network as well.
33) Explain in brief, what UDDI is?
UDDI (Universal Description, Discovery, and Integration) provides consolidated directory for web services on the internet. Clients use UDDI to find web services as per their business needs. It basically hosts the web services from various companies. In order to share web services, you need to publish it in UDDI.
34) Explain the .NET web services supported data types?
.Net web services uses XML-based standards to transfer/receive information. Thus, .NET web services can only works with data types known by XML schema standard. Like FileSteam, Eventlog etc. are not recognized by the XML schema standards and hence, not supported in web services.
35) How a .NET web service is tested?
ASP.NET uses a test page routinely, when one calls for the URL of .asmx file in any browser. This page shows complete information regarding web services.
36) How a .NET web service is consumed?
Since we know that web services are constructed on XML standards. Therefore, clients need to have complete understanding of XML-based messages to interchange messages. Clients can communicate with web services through .NET framework that offers proxy mechanisms. These proxy mechanisms have detailed information regarding data sharing within web services that can be easily used by the clients.
37) Can you name the two Microsoft solutions for distributed applications?
The two Microsoft solutions for distributed applications are .NET Web Services and .NET Remoting.
38) Differentiate between .NET Web Services and .NET Remoting?
As far as protocol is concerned, .NET Web Service uses HTTP, while, .NET Remoting uses any protocol i.e. TCP/HTTP/SMTP. When it comes to performance, .NET Remoting is comparatively, faster than.NET Web Service. Also, as .NET Web Services are hosted via IIS, therefore, it is far more reliable than the .NET Remoting.
39) Name the components to be published while deploying a Web Service?
The components that need to be published during a web service deployment are Web Application Directory, Webservice.asmx File, Webservice.Disco File, Web.Config File and Bin Directory.
40) What are the steps performed by the client to access a web service?
First of all a web reference to the web service is created by the client in his application. Then a proxy class is generated. After that an object of the proxy class is created and at last, the web service is accessed via that proxy object.
41) How web services are implemented in .NET?
To implement web services in .NET, HTTP handlers are used that interrupt requests to .asmx files.
42) Explain few disadvantages of Response Caching?
Response Caching is useless or incompetent when method accepts extensive amount of values because caching means to store lot of information. Also, if the method depends on external source of information, and that are not provided within the parameters then such methods are bypassed.
43) What is the alternate solution to Response Caching?
One can use Data Caching (System.Web.Caching.Cach) instead of Response Caching.
44) Brief few drawbacks of using GET and POST methods to communicate with the web service?
These methods are less secure and inhibit users to pass structures and objects as arguments. Also, it doesn’t allow users to pass ByRef arguments.
45) How can one access a class as a web service?
To access a class as a web service, one should inherit the class from the System.Web.Services.WebService class and qualify the class with the WebService attribute.
46) How can one access the web service class method via internet?
To access web service class method via internet, one should qualify a method with the WebMethod attribute.
47) How a SOAP message is structured?
A SOAP message is consists of SOAP Envelope, SOAP Headers, and SOAP Body.
48) Can you name different kinds of web services?
There are two types of web services in total i.e. SOAP based web service and RESTful web service.
This question is already mentioned earlier.
49) What’s different in RESTful web services?
The RESTful web services contains no contract or WSDL file.
50) Give me few reasons to use RESTful web service?
The RESTFul web services are simple to implement and test. It supports various data formats such as XML, JSON etc.
51) Explain what is JAVA web services? What are the methods to create web services?
Java webservices is developed to build and deploy basic web service on JAVA platform.
To create a web services, there are two approaches that are adopted
- Top-down approach
- Top-up approach
52) Explain what is JAXP?
JAXP is a JAVA API for XML processing that enables application to write, read, manipulate and transform XML data. Similarly, to perform other various function there are other Java API’s as well like JAX-RPC, JAXM, JAXR, JAXB, etc.
53) Mention the JAXB binding framework?
JAXB binding framework is available in three Java Packages
- xml.bind: This package defines abstract classes and interfaces that are used directly with content classes
- xml.bind.util: This package contains utility classes that may be availed by client applications to manage marshalling, unmarshalling and validation events
- xml.bind.helper: This helper package gives partial implementations for some of the javax.xml.bind interfaces. These APIs are not to be directly used by applications using JAXB architecture
54) Give a simple example of how XML document can be Marshal and Unmarshal in JAVA framework?
Marshalling is the process of converting XML document into Java readable form while UnMarshalling is the reverse process of Marshalling. Let see how Java unmarshals an XML document and then marshals it back
JAXBContext jc= JAXBContext.newInstance (“com.acme.foo”);
// unmarshal from foo.xml
Unmarshaller u = jc.createUnmarshaller () ;
(FooObject)u.unmarshal (new File (“foo.xml”) );
// marshal to sytem.out
Marshaller m = jc.createMarshaller ();
m.marshal (fooObj, System.out);
55) Explain what does Marshaller do if jaxb.encoding property is not declared?
By default, the Marshaller will use “UTF-8” if jaxb.encoding property is not declared.
56) Mention what are the types of validation can a JAXB client can perform?
There are two types of JAXB client validation that a JAXB can perform
- Unmarshal Time Validation
- On-Demand Validation
57) Mention what are the three ways to handle the event encountered during the marshal, unmarshal and validate operations?
- Using the default event handler
- Register and Implement a custom event handler
- Use the ValidationEventCollector utility
58) Explain where does JAXB compiler is located?
JAXB schema binding compiler is placed in the <JWSDP_Home>/jaxb/bin directory. In this directory, there are two scripts, xjc.sh (Solaris/Linux) and xjc.bat (Windows).
59) In what cases do you need to customize the default binding?
In some cases, you are required to customize the default binding like
- Creating API documentation for the schema derived JAXB packages, classes, methods and constants
- Giving semantically meaningful customized names for cases that the default XML name-to-Java identifier mapping cannot handle automatically
- Overriding default binding- like specifying that a model group should be attached to a class rather than a list
60) Explain what is Inline Customization?
Customization to JAXB bindings made by means of inline binding declarations in an XML schema file that take the form of <xsd:appinfo> elements embedded in schema <xsd:annotation>elements.
61) Explain what is XML signature?
XML can be used to sign any arbitrary data whether it is a binary or XML. The data is recognized via URIs in one or more reference elements. It is described in one or more forms, like detached, enveloping or enveloped.
62) Explain what is Stax?
Stax stands for Streaming API for XML; it is an API to read and write XML documents, originating from the JAVA programming language.
63) Mention what are the usual XML APIs?
The usual XML APIs includes
- DOM based or Tree based APIs: The whole document is read into memory as a tree structure for random availability by calling application
- Event based APIs: The application registers to get events as entities are encountered within the source document
64) Explain what is Push parsing and Pull parsing?
- Pull Parsing: Streaming pull parsing is referred to a programming model in which a client application calls methods on an XML parsing library, when it needed to communicate with an XML infoset- which means the client will only gets XML data when it is asked for
- Push Parsing: In Push Parsing, the parser pushes parsing events or XML data to the application. In push model, the parser got the hold over the parsing process and the parser calls the implemented handler methods.
65) Explain on which technology does XWS security is based on? List out the options that XWS security provides for securing JAX-RPC applications?
XWS security is based on securing web services build on JAX-RPC and on stand-alone application based on SAAJ. For securing JAX-RPC application, options that XWS security provides are
- XML digital signature
- XML encryption
- Username token verification
- XWS security framework APIs
66) List out the six packages available in XML Digital signature API?
Digital signature API is
67) Explain what is JAXR?
JAXR is the JAVA programming APIs for Java platform application to access and programmatically interact with various kinds of meta-data registries.
68) Explain what does the JAXR architecture consist of?
JAXR architecture is consists of a JAXR client and JAXR provider.
- JAXR client: It is a client program which uses the JAXR API to use a registry through a JAXR provider
- JAXR provider: It is an implementation of the JAXR API that provide access to a particular registry provider or to a class of registry providers that are built on a common speicifications.
69) Explain what is JAXM messaging models?
There are two types of messaging models for JAXM synchronous and asynchronous
- Synchronous messaging model: In such type of model, client directly communicates with the source. In this, the client will send the request and waits.
- Asynchronous messaging model: In this model, client directs the message to the messaging provider and returns back. Messaging provider then executes the routing of the message to the end source.
70) Explain what is UDDI, DISCO and WSDL?
- UDDI: It means Universal Description, Discovery and I It is the directory that is used to publish and discover public web services
- DISCO: It is commonly known as discovery. It clubs common services together and exposes schemas document of the web services
- WSDL: It stands for web service description language (WSDL). It is used to describe web services. The description includes URL of web services, properties and methods supported by web services, data type it supports and protocol detail it supports