Page tree

Versions Compared

Key

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


Panel

On this page:

Table of Contents

Target audience:

Users of the extension providing Web services calls from Java.

Extension ID

com.castsoftware.java.service

What's new?

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

Description

...

Native
  • java.net.URLConnection
  • java.net.HttpURLConnection
JAX-RS
  • javax.ws.rs.client.ClientBuilder
  • javax.ws.rs.client.Client
  • org.glassfish.jersey.client.JerseyClient
  • javax.ws.rs.client.WebTarget
  • javax.ws.rs.client.Invocation
  • javax.ws.rs.client.Invocation.Builder
  • javax.ws.rs.core.UriBuilder
  • 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
Spring
  • org.springframework.web.client.RestTemplate
  • org.springframework.web.util.UriComponentsBuilder
  • org.springframework.web.util.UriComponents
  • org.springframework.web.util.HtmlUtils
  • org.springframework.social.support.URIBuilder
  • org.springframework.web.reactive.function.client.WebClient
Apache
  • 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
Vert.x
  • io.vertx.core.http.HttpClientRequest
  • io.vertx.ext.web.client.HttpRequest
  • io.vertx.ext.web.client.WebClient
okhttp
  • com.squareup.okhttp.OkHttpClient
  • okhttp3.OkHttpClient
Other
  • org.resthub.web.Client
  • org.springframework.cloud.openfeign.FeignClient
  • org.springframework.cloud.netflix.feign.FeignClient
  • feign.Feign
  • feign.RequestLine
  • retrofit2.http.DELETE

  • retrofit2.http.GET

  • retrofit2.http.PATCH

  • retrofit2.http.POST

  • retrofit2.http.PUT

...

Function Points
(transactions)
Quality and Sizing
(tick)(error)

...

AIP Core compatibility

This extension is compatible with:

CAST AIP Core release

Supported

8.3.x(tick)

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:

...

...

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.

...

Client side load balancing

Usage of org.springframework.cloud.client.loadbalancer.LoadBalancerClient allows to choose a service to call so impacts the URL called.:

Code Block
languagejava
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.client.RestTemplate;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.cloud.client.ServiceInstance;
import java.net.URI;

class Main
{
    @Autowired
    private LoadBalancerClient loadBalancerClient;

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

...

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

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

}

...

  • Manual creation of feign clients is not supported