Qaf: рдХреНрдпреВрдПрдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдПрдкреАрдЖрдИ рдСрдЯреЛрдореЗрд╢рди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдорд╛рд░реНрдЪ 2017  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: qmetry/qaf

рд╣рд╛рдп рдЯреАрдо,

рд╣рдо QAF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ API рд╕реНрд╡рдЪрд╛рд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкреНрд░рд╢реНрдиреЛрдВ рдкрд░ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реИ?

  1. рдХреНрдпреВрдПрдПрдл рдореЗрдВ рд╡рд┐рдзрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреЗрдХреНрд╕ рдпрд╛ рд╡рд┐рдзрд┐? рд╣рдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ GET рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реЗ рдХрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реИред рд╕рдВрд▓рдЧреНрди рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИред

рдкрд░ рдорд╛рд░рд╛ рдЧрдпрд╛ --> рдирдпрд╛ RestTestBase().getWebResource(getBundle().getString("ws.endurl", url), "/application.json")ред * * --> рдХрд┐рд╕ GET рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

  1. рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓ рдЧрдИ, рддреЛ JSON рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ QAF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ?

рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рдж!!

рд╕рд╛рджрд░,
рдкреНрд░реЗрдо
capture_webserviceget

help wanted webservice

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдирдорд╕реНрддреЗ @APrem

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ HTTP рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде RestClientFactory рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
https://gist.github.com/outbounder/1069465

рддреЛ рдЖрдкрдХреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрдХреНрд╖рд╛ рдиреАрдЪреЗ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧреА рдФрд░ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдкреИрдХреЗрдЬ;

рдЖрдпрд╛рдд com.qmetry.qaf.automation.ws.rest.RestClientFactory;
рдЖрдпрд╛рдд com.sun.jersey.api.client.Client;
рдЖрдпрд╛рдд com.sun.jersey.api.client.config.ClientConfig;
рдЖрдпрд╛рдд com.sun.jersey.api.client.config.DefaultClientConfig;
рдЖрдпрд╛рдд com.sun.jersey.client.urlconnection.HTTPSрдЧреБрдг;

javax.net.ssl.* рдЖрдпрд╛рдд рдХрд░реЗрдВ;
рдЖрдпрд╛рдд java.security.SecureRandom;
рдЖрдпрд╛рдд java.security.cert.CertificateException;
рдЖрдпрд╛рдд java.security.cert.X509рдкреНрд░рдорд╛рдгрдкрддреНрд░;

рдкрдмреНрд▓рд┐рдХ рдХреНрд▓рд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЗрд▓реНрдкрд░ рдиреЗ RestClientFactory рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ {

public static ClientConfig configureClient() {
    TrustManager[ ] certs = new TrustManager[ ] {
            new X509TrustManager() {
                <strong i="24">@Override</strong>
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                <strong i="25">@Override</strong>
                public void checkServerTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
                <strong i="26">@Override</strong>
                public void checkClientTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
            }
    };
    SSLContext ctx = null;
    try {
        ctx = SSLContext.getInstance("TLS");
        ctx.init(null, certs, new SecureRandom());
    } catch (java.security.GeneralSecurityException ex) {
    }
    HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());

    ClientConfig config = new DefaultClientConfig();
    try {
        config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties(
                new HostnameVerifier() {
                    <strong i="27">@Override</strong>
                    public boolean verify(String hostname, SSLSession session) {
                        return true;
                    }
                },
                ctx
        ));
    } catch(Exception e) {
    }
    return config;
}

<strong i="28">@Override</strong>
protected  Client createClient() {
    return Client.create(ClientHelper.configureClient());
}

}`

рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЧреБрдгреЛрдВ рдХреЗ рдЕрдВрджрд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
rest.client.impl=<Your Package Name>.ClientHelper

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдкреАрдУрдЬреЗрдУ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрдк рдЙрд╕ рд╡рд░реНрдЧ рдпрд╛ String.class рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ ClientResponse.class рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЖрдк рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдЪрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП ws-support рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдб рдХреЗ рдиреАрдЪреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред
рдкреИрд░рд╛рдореАрдЯрд░

рдХреНрдпрд╛ рд╣реИ ----> рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрди
рдХреНрдпрд╛ рд╣реИ ---->рдирдХреНрд╢рд╛рдкреИрд░рд╛рдореАрдЯрд░

рдирд┐рдЬреА рд╕реНрдереИрддрд┐рдХ рд╢реВрдиреНрдп рдЕрдиреБрд░реЛрдзрдХреЗ рд▓рд┐рдП(рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрди, рдорд╛рдирдЪрд┐рддреНрд░рдкрд░рдореЗрд╕) {

  • WebResource webResource = рдирдпрд╛ RestTestBase ()ред getWebResource (
  • getBundle().getString("ws.endurl", ApplicationProperties.SELENIUM_BASE_URL.getStringVal ()), рд╕рдВрд╕рд╛рдзрди);
  • рдЕрдЧрд░ (рд╢реВрдиреНрдп! = рдкреИрд░рд╛рдореНрд╕ &&! params.isEmpty ()) {
  • рдмрд╣реБрдорд╛рди рдирдХреНрд╢рд╛mparams = рдирдпрд╛ MultivaluedMapImpl ();


    • рдХреЗ рд▓рд┐рдП (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреБрдВрдЬреА: params.keySet ()) {

  • mparams.add (рдХреБрдВрдЬреА, params.get (рдХреБрдВрдЬреА));
  • }
  • webResource = webResource.queryParams (mparams);
  • }
  • webResource.get(ClientResponse.class);
  • }

рд╣рдордиреЗ рдХреЛрдб рдХреЗ рдиреАрдЪреЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рд╣рдореЗрдВ рдиреАрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд╡рд╛рдж рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

    WebResource webResource = new RestTestBase().getWebResource(getBundle().getString("ws.endurl", url));
    webResource.get(ClientResponse.class);

рддреНрд░реБрдЯрд┐:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX рдкрде рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓:
sun.security.provider.certpath.SunCertPathBuilderException: рдЕрдиреБрд░реЛрдзрд┐рдд рд▓рдХреНрд╖реНрдп рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдгрди рдкрде рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдирдорд╕реНрддреЗ @APrem

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ HTTP рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде RestClientFactory рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
https://gist.github.com/outbounder/1069465

рддреЛ рдЖрдкрдХреА рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрдХреНрд╖рд╛ рдиреАрдЪреЗ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧреА рдФрд░ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рдЬрд╛рд╡рд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдкреИрдХреЗрдЬ;

рдЖрдпрд╛рдд com.qmetry.qaf.automation.ws.rest.RestClientFactory;
рдЖрдпрд╛рдд com.sun.jersey.api.client.Client;
рдЖрдпрд╛рдд com.sun.jersey.api.client.config.ClientConfig;
рдЖрдпрд╛рдд com.sun.jersey.api.client.config.DefaultClientConfig;
рдЖрдпрд╛рдд com.sun.jersey.client.urlconnection.HTTPSрдЧреБрдг;

javax.net.ssl.* рдЖрдпрд╛рдд рдХрд░реЗрдВ;
рдЖрдпрд╛рдд java.security.SecureRandom;
рдЖрдпрд╛рдд java.security.cert.CertificateException;
рдЖрдпрд╛рдд java.security.cert.X509рдкреНрд░рдорд╛рдгрдкрддреНрд░;

рдкрдмреНрд▓рд┐рдХ рдХреНрд▓рд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реЗрд▓реНрдкрд░ рдиреЗ RestClientFactory рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ {

public static ClientConfig configureClient() {
    TrustManager[ ] certs = new TrustManager[ ] {
            new X509TrustManager() {
                <strong i="24">@Override</strong>
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                <strong i="25">@Override</strong>
                public void checkServerTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
                <strong i="26">@Override</strong>
                public void checkClientTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
            }
    };
    SSLContext ctx = null;
    try {
        ctx = SSLContext.getInstance("TLS");
        ctx.init(null, certs, new SecureRandom());
    } catch (java.security.GeneralSecurityException ex) {
    }
    HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());

    ClientConfig config = new DefaultClientConfig();
    try {
        config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties(
                new HostnameVerifier() {
                    <strong i="27">@Override</strong>
                    public boolean verify(String hostname, SSLSession session) {
                        return true;
                    }
                },
                ctx
        ));
    } catch(Exception e) {
    }
    return config;
}

<strong i="28">@Override</strong>
protected  Client createClient() {
    return Client.create(ClientHelper.configureClient());
}

}`

рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЧреБрдгреЛрдВ рдХреЗ рдЕрдВрджрд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
rest.client.impl=<Your Package Name>.ClientHelper

рд╣рд╛рдп рдкреНрд░реЗрдо,
рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧреАред

рдореИрдВ рдЖрдк рдХреА рддрд░рд╣ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рдорд░реНрдерди рдордВрдЪ рдХреЗ рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдХрджрдо рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ stackoverflow QAF рдЯреИрдЧ рдХреЗ рд╕рд╛рде рдпрд╛ рд╕рдореВрд╣ рдореЗрдВ рдЬреБрдбрд╝реЗ рд╣реБрдП ред рдЬрдм рдЖрдк рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдкрд░ рдкреВрдЫ рд░рд╣реЗ рд╣реЛрдВ рддреЛ рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП qaf рдЯреИрдЧ рдЬреЛрдбрд╝реЗрдВред

рдзрдиреНрдпрд╡рд╛рдж,
рдЪрд┐рд░рд╛рдЧреЛ

рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ ClientHelper рд╡рд░реНрдЧ рдФрд░ рдЕрдм рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред
рд▓реЗрдХрд┐рди URL рдЬреЛ рдХрднреА рднреА .getWebResource(getBundle().getString("ws.endurl", url)) рдХреЗ рдЕрдВрджрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди рдкреНрд░рддреАрдХ "?" рдпреВрдЖрд░рдПрд▓ рдореЗрдВ рд╣реИред рдХреЛрдб рдХрд╛ рдпрд╣ рдЯреБрдХрдбрд╝рд╛ "?" рд▓реЗ рд░рд╣рд╛ рд╣реИ "% 3F" рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХрдВрд╕реЛрд▓ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ред

рдЕрдкреЗрдХреНрд╖рд┐рдд: https://sample.url.com/xxxxxxxxxxxxx?apikey=l7xxfc8df89f313944a89e280481e09bb411
рд╡рд╛рд╕реНрддрд╡рд┐рдХ: https://sample.url.com/xxxxxxxxxxxxx%3Fapikey=l7xxfc8df89f313944a89e280481e09bb411

рдЗрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ:
1 * рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдЙрдЯ-рдмрд╛рдЙрдВрдб рдЕрдиреБрд░реЛрдз
1 >> https://sample.url.com/xxxxxxxxxxxxx%3Fapikey=l7xxfc8df89f313944a89e280481e09bb411 рдкреНрд░рд╛рдкреНрдд
1 * рдкреНрд░рд╛рд░рдВрдн рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ: 87
1 * рдкреНрд░рд╛рдкреНрдд: рдбреЗрд▓реНрдЯрд╛: 87 рдмрд╛рдЗрдЯреНрд╕: 87
рд╕рдорд╛рдкреНрдд1 * рд╕рдорд╛рдкреНрдд
1 * рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрди-рдмрд╛рдЙрдВрдб рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
1 << 401
1 << рд╕рд░реНрд╡рд░: рдЕрдкрд╛рдЪреЗ-рдХреЛрдпреЛрдЯ/1.1
1 << рд╕рд╛рдордЧреНрд░реА-рд▓рдВрдмрд╛рдИ: 87
1 << рджрд┐рдирд╛рдВрдХ: рд╢реБрдХреНрд░, 31 рдорд╛рд░реНрдЪ 2017 14:39:19 рдЬреАрдПрдордЯреА
1 << рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░: рдЯреЗрдХреНрд╕реНрдЯ/рд╕рд╛рджрд╛; рд╡рд░реНрдгрд╕реЗрдЯ = рдпреВрдЯреАрдПрдл -8
1 <<
{
"рддреНрд░реБрдЯрд┐рдпрд╛рдВ": [
{
"message": "рдЕрд╡реИрдз apikey",
"рдХреЛрдб": 4010
}
]
}

рдореИрдВ рдиреАрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИрдбрд░ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде apikey рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред

рдмрд┐рд▓реНрдбрд░ рдмрд┐рд▓реНрдбрд░ = webResource.getRequestBuilder ();
рдмрд┐рд▓реНрдбрд░.рд╣реЗрдбрд░ (рдПрдкрд┐рдХреА, рдПрдкреАрд╡реИрд▓реНрдпреВ);
Builder.get(ClientResponse.class);

рдзрдиреНрдпрд╡рд╛рдж!

рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП @cjayswal @thetechnocrat рдХреЛ рдзрдиреНрдпрд╡рд╛рдж !!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕