Web services

To test HTTP communications that are web services, you must understand W3C and what W3C standards/technologies can be configured with HCL DevOps Test Integrations and APIs (Test Integrations and APIs).

The Web services Architecture group at the W3C is defined as follows:

A web service is a software system that is designed to support interoperable machine-to-machine interaction over a network. It has an interface that is described in a machine-processable format (specifically WSDL). Other systems interact with the web service in a manner that is prescribed by its description by using SOAP-messages, typically conveyed by using HTTP with an XML serialization with other web-related standards

Sending a request to a Web Service requires a message to be constructed and sent to where the Web Service resides, this message must conform to the Web Services expected structure as defined in a WSDL document that is to be made available to all users of the service.

When a Web Service receives a request from a client, it processes the required function of the service and prepares a reply. The reply is sent back to the client in the pre-defined method that is generally as a SOAP formatted message and includes the information that is requested.

A simple example of a Web Service is a stock quote system where a client uses a Web Service to provide real-time stock value data. In this case, the client would send a request to the Web Service listing the name of the stock/company and would receive a reply that states its current value.

Applicable technologies

Test Integrations and APIs provides access to the following standards / technologies to provide support for Web Services:

HTTP

Hyper Text Transfer Protocol (HTTP) is an application level text-based protocol that provides the means for clients to interact with Web Servers by using a series of requests and responses. It defines several operations that allow clients to request web content and submit information to the server for processing.

HTTPS

HTTPS is syntactically identical as HTTP. Using an https: URL indicates that HTTP is to be used, but with a different default port (443) and an extra encryption/authentication layer (SSL) which sits between HTTP and TCP.

WSDL

Web Services Description Language (WSDL) is an XML-based specification that describes a Web Service. A WSDL document describes Web Service operations, input, and output parameters, and how a client application connects to the Web Service, that is, the transport to be used.

SOAP

SOAP (Simple Object Access Protocol) is a lightweight XML-based protocol that is used to exchange information in a decentralized, distributed environment. The protocol consists of:

  • An envelope that describes the SOAP message. The envelope contains the body of the message, identifies who processes it, and describes how to process it.
  • A set of encoding rules for expressing instances of application-specific data types.
  • A convention for representing remote procedure calls and responses.

This information is embedded in a Multipurpose Internet Mail Extension (MIME)-encoded package that can be transmitted over HTTP or other protocols. MIME is a specification for formatting non-ASCII messages so that they can be sent over the Internet.

Packet capture libraries

To use an HTTP Subscriber in "watch" mode, you must have the appropriate HTTP packet capture libraries that are installed on your machine.

  • On Unix-like systems, libpcap is normally installed already. If necessary, the latest package can be downloaded from TCPDump.
  • On Windows systems, WinPCAP can be installed as part of the main Test Integrations and APIs installation.
    Note: The WinPCAP feature is turned off by default. If you want to use this feature, you can do any of the following tasks:
    • During the installation steps, select the Network Packet Capture option to enable this feature.
    • Anytime after installation, when you want to enable or disable this feature (if enabled), use the Modify option in Installation Manager, select or clear the Network Packet Capture check box and modify the package.

The libraries enable Test Integrations and APIs to access network devices on the installed machine so that it can monitor HTTP traffic. To do this, the network device to be monitored must be specified under Application in the Test Integrations and APIs Library Manager utility.

The Default Network Device field provides a list of network interfaces that can be monitored. The properties of the selected device are displayed below it to help you choose the correct device.

After you select the wanted device, click OK to close Library Manager and save your changes.