将SAP Cloud Platform连接到Office 365 API时,Peer未经过身份验证的异常

时间:2017-08-15 11:23:14

标签: java outlook office365 sap scp

我正在实施SAP Cloud Platform Java应用程序,以使用OAuth2身份验证连接到Office 365 API(https://outlook.office.com/)。 当我在Apache Tomcat本地服务器上运行它时,我正确地从服务器获得响应。 当我在SAP Cloud Platform上运行相同的代码时,我得到javax.net.ssl.SSLPeerUnverifiedException:peer not authenticated | 在这两种情况下,我都会获得正确的OAuth令牌。 我在这里错过了什么? 我正在使用的代码是:

private Object getResponseFromAzure(String url, String methodType) {
    AuthenticationResult result = null;
    try {
        result = getAccessTokenFromUserCredentials(); // OAuth2 bearer token
    } catch (Exception e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    String accessToken = result.getAccessToken();
    System.out.println("Access Token is - " + accessToken);
    HttpClient client = new DefaultHttpClient();

    HttpRequestBase request = null;
    if ("GET".equals(methodType)) {
        request = new HttpGet(url);
    } else if ("POST".equals(methodType)) {
        request = new HttpPost(url);
    }

    request.addHeader("Authorization", "Bearer " + accessToken);
    HttpResponse response = null;
    try {
        response = client.execute(request);
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

在SCP中创建目的地。在目标服务中上载根证书和中间证书。这是用户界面的一部分。

使用目标而不是直接连接从您的Java应用程序进行连接。示例代码位于https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/e592cf6cbb57101495d3c28507d20f1b.html