Web services supported by TotalAgility

This topic describes the web services supported by TotalAgility:

SOAP Web Services

SOAP (Simple Object Access Protocol) is the standard XML-based protocol for making remote procedure calls over the Internet.

WCF Web Services

WCF (Windows Communication Foundation) is a framework for building service-oriented applications. Use WCF to send data (as asynchronous messages) from one service endpoint to another.

TotalAgility supports flexible WCF Web services (with .svc extensions). WCF service components can be invoked by any protocol, such as HTTP and TCP; however, traditional web services can be invoked only by the HTTP protocol. This allows flexibility and helps you align your processes with the current business trends.

RESTful Web Services

A RESTful web service (also called RESTful web API) is a simple web service implemented using HTTP and the principles of REST. It is a collection of resources that include:

  • The base URI for the web service, such as http://example.com/resources/

  • The Internet media type of data supported. TotalAgility only supports XML and JSON for RESTful web services.

  • The set of operations supported using HTTP methods, such as GET, PUT, POST, PATCH, or DELETE.

To configure WCF to provide a JSON endpoint, you should bind the JSON endpoint to “webHttpBinding”. For example, in the web.config file, configure the following settings:

<service name="Agility.Sdk.Services.JobService" 
behaviorConfiguration="Agility.Server.Web.Services.Behavior">
<endpoint address="json" bindingConfiguration="WebHttpBinding_Service" 
behaviorConfiguration="jsonBehavior" binding="webHttpBinding" 
contract="Agility.Sdk.Model.Interfaces.Services.IJobService"/>
</service>

To create an endpoint behavior to enable HTTP-based requests, create the following behavior and provide it with a name for reference:


    <behaviors>
      <endpointBehaviors>
        <behavior name="jsonBehavior">
          <enableWebScript/>
          <jsonErrorHandler/>
        </behavior>
      </endpointBehaviors>
    </behaviors>

You can access the service using the SVC URI, such as http://localhost/service1.svc/json/{method}

The API must be hypertext-driven.

TotalAgility Advanced Studio only supports simple types of RESTful web services. Do not use RESTful web services with complex data structures.

RESTful Open API Web Services
RESTful Open API web services have an OpenAPI definition. The OpenAPI specification is the API description format for REST APIs.

Using an OpenAPI file, you can describe your entire API, including the following:

  • Available endpoints (users)

  • Operations on each endpoint (GET/users, POST/users, PATCH/users, and DELETE/users)

  • Operation parameters (that is, input and output for each operation)

You can write the OpenAPI definitions in JSON or YAML. YAML is recommended because it is easier to read and write.

You can use the RESTful OpenAPI service in a process/rule/custom service, so that you can see the methods/parameters and execute the service successfully.