向另一个App Engine应用程序发出请求

时间:2016-01-20 14:34:35

标签: java google-app-engine

从我的GAE服务器端代码,Iam使用urlfetchservice更新另一个GAE上的数据存储区。这导致响应代码302

请在下面找到代码段,

    String urlVal = "https://valeo-is-qc-dev.appspot.com/a/qccards/"+modelObj.getQc_reference_id()+"/updatellcreference?llcref="+modelObj.getReference()+"&llcrefid="+modelObj.getId();
    URL url = new URL(urlVal);
    // Create HTTPRequest and set headers
    com.google.appengine.api.urlfetch.FetchOptions fetchOptions = com.google.appengine.api.urlfetch.FetchOptions.Builder.withDefaults();
    fetchOptions.doNotValidateCertificate();
    fetchOptions.doNotFollowRedirects();
    HTTPRequest httpRequest = null;
    httpRequest = new HTTPRequest(new URL(url.toString()), HTTPMethod.PUT,fetchOptions);
    httpRequest.addHeader(new HTTPHeader("Authorization", "OAuth " + token_id));
    httpRequest.addHeader(new HTTPHeader("X-Appengine-Inbound-Appid", "valeo-is-llc-dev"));
    httpRequest.addHeader(new HTTPHeader("Host", "https://test-is-abc-dev.appspot.com"));
    httpRequest.addHeader(new HTTPHeader("Content-Type", "text/plain"));

    URLFetchService fetcher = URLFetchServiceFactory.getURLFetchService();
    HTTPResponse httpResponse = null;
    httpResponse = fetcher.fetch(httpRequest);
    if (httpResponse.getResponseCode() == HttpURLConnection.HTTP_OK) {
        LOGGER.log(Level.INFO, "abc def Bridge Response OK --- " + httpResponse.getResponseCode());
        LOGGER.log(Level.INFO, "abc def Bridge Response OK --- " + httpResponse.toString());
    } else {
        // Server returned HTTP error code.
        LOGGER.log(Level.INFO, "abc def Bridge Response FAIL --- " + httpResponse.getResponseCode());
    }

0 个答案:

没有答案