Overview

The InsuranceSuite REST API Client provides functionality that Guidewire InsuranceSuite applications and integrations use to make outbound HTTP calls to OpenAPI Spec-compliant REST services. Using the client enables loosely-coupled external code to be invoked by events that are sourced in InsuranceSuite applications.

Note: The REST API Client does not support outbound HTTP calls to InsuranceSuite applications, such as ClaimCenter, PolicyCenter, and BillingCenter.
The Guidewire REST API client consists of two modules, a client library and a client plugin:
  • The client library provides fault tolerance features that integration developers use to make synchronous REST API calls from InsuranceSuite
  • The client plugin generates REST API for making outbound HTTP requests to OpenAPI Spec-compliant REST services

REST API client  architecture

About the client library

The client library is distributed as a JAR file. The library works with OpenFeign annotated API and Jackson annotated data objects. Integration developers can manually create these objects or provide existing. If their REST service complies with the OpenAPI Spec they can use the client plugin to generate that set of classes.

The library provides the following features:

  • Code generation in Java and isolation from Gosu for rapid development
  • Integrates with Resilience4j to provide lightweight, easy-to-use fault tolerance library. Reseliense4j introduces higher-order functions (decorators) to enhance any functional interface, lambda expression, or method reference with a Circuit Breaker, and Retry. You can stack more than one decorator on any functional interface, lambda expression or method reference.
  • Integrates with OpenFeign to facilitate the creation of web service client implementations, with quality of service features, configurable and customizable clients. Uses OpenFeign to implement timeout.
  • Fault tolerance with retry, circuit breaker, and fallback
  • Observability with logging and traceability
  • Authentication that supports Basic, API Key, Bearer, OAuth 2.0, and Mutual TLS authentications
  • Uses Apache HttpClient for robust client connections
  • Uses Apache OAuth implementation for OAuth authentication
  • By default uses IS standard headers in logging context
  • Uses Jackson as JSON parser

About the client plugin

You use client plugin to generate an OpenFeign based REST client against a service that supports the OpenAPI Spec. If you have an existing OpenFeign based REST API interfaces you can use the REST API library without the client generation and take advantage of the fault tolerance features.

The client plugin provides the following features:
  • Uses OpenAPI Generator to generate API client libraries, server stubs, documentation and configuration automatically against an OpenAPI Spec-compliant REST API service endpoint.