java - java.io.IOException:CONNECT 的意外响应代码:400
问题描述
我正在使用 Okhttp 客户端获取基于 Rest API 的 OAuth 2.0 令牌。
当我在 Weblogic 12c 上部署它时,它显示错误java.io.IOException: Unexpected response code for CONNECT: 400
我试图以不同的样式更改实现和标头方法方法可能是我的请求失败,因为我提供了错误的凭据但没有任何改变。
任何人都可以建议我在我的代码中做错了什么吗?
客户代码
public String Post (String url, String json) throws IOException {
Response response = null;
try {
logger.info("FMS WEBSERVICE LOG >>> Posting method...");
RequestBody body = RequestBody.create(JSON, json);
logger.info("FMS WEBSERVICE LOG >>> body: " + body);
Request request = new Request.Builder().url(url).post(body).build();
logger.info("FMS WEBSERVICE LOG >>> request: " + request);
response = client.newCall(request).execute();
logger.info("FMS WEBSERVICE LOG >>> returning: " + response.toString());
}
catch (Exception e) {
logger.info("FMS WEBSERVICE LOG >>> exception in WebServiceClient: " + e);
}
return response.body().string();
}
@GET
@Path("/fundTransfer")
@Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
public String soapCaller() throws IOException, JSONException {
logger.info("FMS WEBSERVICE LOG >>> Inside the client method");
String json = new StringBuilder()
.append("{")
.append("\"grant_type\":\"client_credentials\",")
.append("\"client_id\":\"0146b9a4-7e99-4c83-8e9e-6049cfec55da\",")
.append("\"client_secret\":\"nY3oL5xQ3bJ8yT3nC1nV5bY4mY6eW7yP1nY6dS6rQ2nE5iR0rM\",")
.append("\"scope\":\"ABLApis\"")
.append("}").toString();
logger.info("FMS WEBSERVICE LOG >>> JSON >>> " + json.toString());
String response = Post("https://221.120.211.69:443/abl-api/uat/oauth2/token", json);
logger.info("FMS WEBSERVICE LOG >>> response >>> " + response);
return response;
}
我正在使用邮递员通过以下 URL 访问 GET 请求:http:///FMS_WEB_SERVICES/fmsServices/fundTransfer
解决方案
CONNECT
是 OkHttp 用来通过代理服务器建立 HTTPS 连接的 HTTP 方法。它使用在 OkHttpClient 中配置的代理服务器,或者 JVM 通过其 ProxySelector 功能更喜欢的代理服务器。
来自 CONNECT 的 400 响应意味着代理不喜欢 CONNECT 请求。您可能需要完全禁用代理(将 Proxy.NO_PROXY 传递给 OkHttpClient.Builder)或修复它以接受此调用。
推荐阅读
- ubuntu - 在 Elastic、Kibana 上配置主管
- https - 如何在 tomcat 中为特定项目设置 Java truststore 和 truststorepassword 属性?
- c++ - 调用 dll 函数时出现“运行时检查失败 #0 - ESP 的值”
- laravel - Laravel 项目端口无法通过端口在 Docker 上访问
- c# - 如何为每种语言定义一个全局资源 .resx 文件?
- javascript - 使用 Javascript 进行深度链接不适用于 Safari 浏览器
- c - 一般单元测试:可以模拟自我功能吗?(ceedling/CMock)
- python - 如何操作由“脚本”命令创建的计时和打字稿文件?
- reactjs - 无法在本机反应中设置我的背景图像?
- java - Kubernetes 中的 KeyCloak 如何处理 200 个连接?