Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


On this page:

Table of Contents

Target audience:

Users of the extension providing Web services calls from Java.

Extension ID

What's new?

See REST service call for Java - 1.0 - Release Notesfor  for more information.



  • org.glassfish.jersey.client.JerseyClient
  • org.jboss.resteasy.client.jaxrs.ResteasyClient
  • org.jboss.resteasy.client.jaxrs.ResteasyWebTarget
  • org.jboss.resteasy.client.ClientRequest
  • com.sun.jersey.api.client.Client
  • com.sun.jersey.api.client.WebResource
  • org.springframework.web.client.RestTemplate
  • org.springframework.web.util.UriComponentsBuilder
  • org.springframework.web.util.UriComponents
  • org.springframework.web.util.HtmlUtils
  • org.springframework.web.reactive.function.client.WebClient
  • org.apache.cxf.jaxrs.client.WebClient
  • org.apache.http.client.HttpClient
  • org.apache.http.impl.client.CloseableHttpClient
  • org.apache.http.impl.nio.client.CloseableHttpAsyncClient
  • org.apache.http.client.utils.URIBuilder
  • org.apache.wink.client.Resource

  • org.apache.wink.client.RestClient
  • io.vertx.core.http.HttpClientRequest
  • io.vertx.ext.web.client.HttpRequest
  • io.vertx.ext.web.client.WebClient
  • org.resthub.web.Client
  • feign calls to web
  • feign.Feign
  • feign.RequestLine
  • retrofit2.http.DELETE

  • retrofit2.http.GET

  • retrofit2.http.PATCH

  • retrofit2.http.POST

  • retrofit2.http

    calls to webservices


Function Point, Quality and Sizing support


Function Points
Quality and Sizing


AIP Core compatibility

This extension is compatible with:

CAST AIP Core release



Supported DBMS servers


(tick)Installation of any compatible release of CAST AIP Core (see table above)

Dependencies with other extensions

The REST Service Calls for Java extension requires that ≥ 1.2.8-funcrel of the JEE Analyzer is also installed and used in order to ensure the most complete set of results. This dependency with the JEE AnalyzerAnalyzer is not automatically handled when downloading the REST Service Calls for Java extension via CAST Extension Downloader, CAST Server Manager or AIP Console, therefore you must MANUALLY download and install the JEE Analyzer before starting an analysis.

Download and installation instructions

Please see:



The latest release status of this extension can be seen when downloading it from the CAST Extend server.

Packaging, delivering and analyzing your source code

Package your JEE code as described in JEE - Prepare and deliver the source code - the REST Service Calls for Java extension will be run when you perform the analysis.


Code Block
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;

class Main
	public static void main(String[] args) {
		Client client = Client.create();

		WebResource webResource = client

		ClientResponse response = webResource.accept("application/json")



Client side load balancing

Usage of allows to choose a service to call so impacts the URL called:

Code Block
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.client.RestTemplate;

class Main
    private LoadBalancerClient loadBalancerClient;

    void f()
		RestTemplate client ;
        ServiceInstance serviceInstance = loadBalancerClient.choose("user-auth");
        String path = serviceInstance.getUri().toString() + "/oauth/token";
        client.put(path, client);

Image Added


Feign is a declarative web service client which makes writing web service clients easier. Native sample: "RequestLine" annotation indicates the presence of feign web service:


Code Block
class MyHttpCall
   void execute(String url, String method)
      Client client = ClientBuilder.newClient();
      WebTarget myResource =;

      if (method == "GET")
          String response = myResource.request(MediaType.TEXT_PLAIN).get(String.class);
      else if (method == "PUT")


  • For feign and retrofit2.http web services we do not evaluate strings inside annotations@Value on constructor or method parameters are not handled
  • For feign annotations, ${name}where name is a property/yaml variable name are kept as is instead of being expansed
  • Manual creation of feign clients is not supported