SAP / cloud-sdk

The SAP Cloud SDK documentation and support repository.
https://sap.github.io/cloud-sdk/
Apache License 2.0
44 stars 41 forks source link

DestinationAccessor does not work for OAuth2ClientCredentials in a local environment #311

Closed reinhardjaeschke closed 3 years ago

reinhardjaeschke commented 3 years ago

Issue Description

Hello SAP cloud sdk experts,

I am calling a simple external service with authentication type "OAuth2ClientCredentials". The Service returns a list of company codes and works fine once it is deployed to SAP BTP.

However testing locally, the service returns "Unauthorized". I followed the steps indicated here: https://sap.github.io/cloud-sdk/docs/java/features/connectivity/sdk-connectivity-destination-service#configure-http-destinations-for-local-deployment I seems to me that this works only for destinations of authentication type "BasicAuthentication".

The DestinationLoaderChain is set up like this:

        DestinationLoaderChain customLoaderChain = DestinationLoaderChain
                .builder( new EnvVarDestinationLoader( ) )
                .append( new ScpCfDestinationLoader( ) )
                .build( );

The RestController looks like this:

@RestController
@RequestMapping("/ccodes")
@Slf4j
public class ListCCodesController {

    @Autowired
    public XSuiteDestinations destinations;

    @RequestMapping(method = RequestMethod.GET)
    public ResponseEntity<String> getCCode( @RequestParam(defaultValue = "1000") final String ccode ) {
        log.info( "retrieving CCodes from Helix ...." );

//      HttpDestinationProperties destination = destinations.getHelixBackend( );
        HttpDestination destination = DestinationAccessor.getDestination( "xSuiteSphere-Helix-Backend" ).asHttp( );

        HttpClient client = HttpClientAccessor.getHttpClientFactory( ).createHttpClient( destination );

        HttpGet             request         = new HttpGet( "/LookupDataSources/cst_DS_CompanyCode/Values" );
        HttpResponse    response;
        String              responseStr = "";
        try {
            response = client.execute( request );

            responseStr = response.getStatusLine( ).getReasonPhrase( );
            log.info( "Helix-Service replied with: {} ", responseStr );

            HttpEntity entity = response.getEntity( );
            responseStr = EntityUtils.toString( entity, "UTF-8" );

        } catch (IOException e) {
            e.printStackTrace( );
        }

        return ResponseEntity.ok( responseStr );
    }
}

The destination "xSuiteSphere-Helix-Backend" is found correctly in the environment variable, but it seems that the credentials are not used, because the "credentials provider" is not set, because there is expected to be a "proxy configuration" in place which is not relevant in this case.

The Destination is defined like this in the environment variable "destinations":

[
    {
        "name": "xSuiteSphere-Helix-Backend",
        "Type": "HTTP",
        "Description": "xSuite Helix Connection",
        "URL": "https://aservice.xsuite.com/api/v1",
        "ProxyType": "Internet",
        "Authentication": "OAuth2ClientCredentials",
        "credentials" : {
            "clientId": "theClientID",
            "clientSecret": "theClientSecret" 
        },
        "TokenServiceURL": "https://tokenServiceurl.xsuite.com/auth/token"
    }
]

I think, I need to create the destination differently, but I have no idea how. Can you please give me a hint?

Impact / Priority

We hope to roll out a first prototype of our product by the end of juli 2021.

Application Log

Please see also the attached debug - log:

c.s.c.s.c.c.DestinationLoaderChain           Delegating destination lookup for destination xSuiteSphere-Helix-Backend to the destination loader EnvVarDestinationLoader.
c.s.c.s.c.c.EnvVarDestinationLoader          Trying to extract destination xSuiteSphere-Helix-Backend from the environment variables.
c.s.c.s.c.c.DefaultDestination               Instantiated com.sap.cloud.sdk.cloudplatform.connectivity.DefaultDestination based on the following property keys: Authentication,clientId,clientSecret,Description,name,ProxyType,TokenServiceURL,Type,URL
c.s.c.s.c.c.DestinationLoaderChain           Destination loader EnvVarDestinationLoader successfully loaded destination xSuiteSphere-Helix-Backend.
.s.c.c.ComplexDestinationPropertyFactory     No proxy URI or host and port specified. Continuing without proxy configuration.
.s.c.c.ComplexDestinationPropertyFactory     No valid JSON primitives 'User' and 'Password' defined. Continuing without basic credentials.
c.s.c.s.c.c.AbstractHttpClientFactory        Building a new custom HttpClient.
c.s.c.s.c.c.AbstractHttpClientFactory        No proxy configuration found for destination com.sap.cloud.sdk.cloudplatform.connectivity.DefaultHttpDestination@c1acdb10.
c.s.c.s.c.c.AbstractHttpClientFactory        No proxy configuration found for destination com.sap.cloud.sdk.cloudplatform.connectivity.DefaultHttpDestination@c1acdb10.
c.s.c.s.c.c.AbstractHttpClientFactory        Skip setting credentials provider.
c.s.c.s.c.c.SSLSocketFactoryUtil             The destination uses HTTPS for target "https://aservice.xsuite.com/api/v1".
c.s.c.s.c.c.SSLContextFactory                Using JDK default trust store.
c.s.c.s.c.connectivity.UriPathMerger         Merging request path /LookupDataSources/cst_DS_CompanyCode/Values into destination path /api/v1: /api/v1/LookupDataSources/cst_DS_CompanyCode/Values
c.s.c.s.c.connectivity.UriPathMerger         Including path /api/v1/LookupDataSources/cst_DS_CompanyCode/Values to https://aservice.xsuite.com/ results in https://aservice.xsuite.com/api/v1/LookupDataSources/cst_DS_CompanyCode/Values
c.s.c.s.c.connectivity.UriPathMerger         Merged https://aservice.xsuite.com/api/v1 and /LookupDataSources/cst_DS_CompanyCode/Values into https://aservice.xsuite.com/api/v1/LookupDataSources/cst_DS_CompanyCode/Values
c.s.c.s.c.c.DefaultHttpDestination           Found these 0 destination header providers for a DefaultHttpDestination: 
o.a.h.client.protocol.RequestAddCookies      CookieSpec selected: default
o.a.h.client.protocol.RequestAuthCache       Auth cache not set in the context
org.apache.http.wire                         http-outgoing-0 >> "GET /api/v1/LookupDataSources/cst_DS_CompanyCode/Values HTTP/1.1[\r][\n]"
org.apache.http.wire                         http-outgoing-0 >> "Host: xsuite.dev02.qs.xsuite.com[\r][\n]"
org.apache.http.wire                         http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
org.apache.http.wire                         http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.5.13 (Java/11.0.11)[\r][\n]"
org.apache.http.wire                         http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
org.apache.http.wire                         http-outgoing-0 >> "[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "HTTP/1.1 401 Unauthorized[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "Content-Length: 0[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "Date: Thu, 03 Jun 2021 10:19:50 GMT[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "Location: http://aservice.xsuite.com/Account/Login?ReturnUrl=%2Fapi%2Fv1%2FLookupDataSources%2Fcst_DS_CompanyCode%2FValues[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "Server: Kestrel[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "Strict-Transport-Security: max-age=15552000; includeSubDomains; preload[\r][\n]"
org.apache.http.wire                         http-outgoing-0 << "[\r][\n]"
c.x.s.h.c.ListCCodesController               Helix-Service replied with: Unauthorized 

Maven Dependency Tree (ROOT)

[INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Build Order: [INFO] [INFO] helix-connector - Root [pom] [INFO] helix-connector - Application [jar] [INFO] helix-connector - Integration Tests [jar] [INFO] [INFO] -----------------< com.xsuite.sphere:helix-connector >------------------ [INFO] Building helix-connector - Root 0.0.1-SNAPSHOT [1/3] [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ helix-connector --- [INFO] com.xsuite.sphere:helix-connector:pom:0.0.1-SNAPSHOT [INFO] [INFO] -----------< com.xsuite.sphere:helix-connector-application >------------ [INFO] Building helix-connector - Application 0.0.1-SNAPSHOT [2/3] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ helix-connector-application --- [INFO] com.xsuite.sphere:helix-connector-application:jar:0.0.1-SNAPSHOT [INFO] +- com.xsuite.sphere.backend:odata-library:jar:0.0.5:compile [INFO] | +- com.xsuite.sphere.backend:common:jar:0.0.5:compile [INFO] | | - commons-io:commons-io:jar:2.8.0:compile [INFO] | +- com.xsuite.sphere.backend:destinations:jar:0.0.5:compile [INFO] | +- org.springframework:spring-webmvc:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-aop:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-beans:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-context:jar:5.3.4:compile [INFO] | | - org.springframework:spring-expression:jar:5.3.4:compile [INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.3:compile [INFO] | | - com.fasterxml.jackson.core:jackson-annotations:jar:2.12.3:compile [INFO] | +- com.sap.cloud.sdk.datamodel:odata-generator:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:odata-core:jar:3.45.0:compile [INFO] | | | - org.jsoup:jsoup:jar:1.13.1:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:fluent-result:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:datamodel-metadata-generator:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:odata-generator-utility:jar:3.45.0:compile [INFO] | | | - com.thoughtworks.qdox:qdox:jar:2.0.0:compile [INFO] | | +- com.sap.cloud.servicesdk:odata-v2-lib:jar:1.40.11:compile [INFO] | | | - com.sap.cloud.servicesdk:developer_license:jar:1.40.11:compile [INFO] | | +- org.slf4j:slf4j-api:jar:1.7.30:compile [INFO] | | +- org.slf4j:jcl-over-slf4j:jar:1.7.30:runtime [INFO] | | +- io.vavr:vavr:jar:0.10.3:compile [INFO] | | | - io.vavr:vavr-match:jar:0.10.3:compile [INFO] | | +- com.google.guava:guava:jar:30.1.1-jre:compile [INFO] | | | +- com.google.guava:failureaccess:jar:1.0.1:compile [INFO] | | | +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile [INFO] | | | - com.google.j2objc:j2objc-annotations:jar:1.3:compile [INFO] | | +- com.google.code.gson:gson:jar:2.8.6:compile [INFO] | | +- org.apache.commons:commons-lang3:jar:3.12.0:compile [INFO] | | +- commons-configuration:commons-configuration:jar:1.10:compile [INFO] | | | - commons-lang:commons-lang:jar:2.6:compile [INFO] | | +- org.apache.commons:commons-text:jar:1.9:compile [INFO] | | +- com.sun.codemodel:codemodel:jar:2.6:compile [INFO] | | - com.google.errorprone:error_prone_annotations:jar:2.6.0:compile [INFO] | - com.sap.cloud.sdk.datamodel:odata-v4-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.datamodel:odata-client:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core:jar:3.45.0:compile [INFO] | - org.apache.httpcomponents:httpcore:jar:4.4.14:compile [INFO] +- com.sap.cloud.sdk.cloudplatform:scp-cf:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:auditlog-scp-cf:jar:3.45.0:compile [INFO] | | - com.sap.cloud.sdk.cloudplatform:auditlog:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:caching:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:security:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:tenant:jar:3.45.0:compile [INFO] | | - com.github.ben-manes.caffeine:caffeine:jar:2.9.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core-scp-cf:jar:3.45.0:compile [INFO] | | - com.mikesamuel:json-sanitizer:jar:1.2.2:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp-cf:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:resilience:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.frameworks:resilience4j:jar:3.45.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-circuitbreaker:jar:1.7.0:runtime [INFO] | | | | - io.github.resilience4j:resilience4j-core:jar:1.7.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-bulkhead:jar:1.7.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-timelimiter:jar:1.7.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-cache:jar:1.7.0:runtime [INFO] | | | | - javax.cache:cache-api:jar:1.1.1:runtime [INFO] | | | - io.github.resilience4j:resilience4j-retry:jar:1.7.0:runtime [INFO] | | +- com.sap.cloud.security.xsuaa:token-client:jar:2.8.8:compile [INFO] | | +- com.jayway.jsonpath:json-path:jar:2.5.0:compile [INFO] | | +- net.minidev:json-smart:jar:2.3:compile [INFO] | | | - net.minidev:accessors-smart:jar:1.2:compile [INFO] | | - com.sap.cloud.security:java-api:jar:2.8.8:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:security-scp-cf:jar:3.45.0:compile [INFO] | | - com.sap.cloud.security:java-security:jar:2.8.8:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:servlet:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:tenant-scp-cf:jar:3.45.0:compile [INFO] | - com.sap.cloud.sdk.cloudplatform:metering:jar:3.45.0:compile [INFO] +- com.sap.cloud.sdk.s4hana:s4hana-all:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-connectivity:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-api-odata:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-api-odata-v4:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.datamodel:soap:jar:3.45.0:compile [INFO] | | +- org.apache.axis2:axis2-adb:jar:1.7.9:compile [INFO] | | | - org.apache.ws.commons.axiom:axiom-dom:jar:1.2.21:runtime [INFO] | | | - org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0:runtime [INFO] | | | - org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime [INFO] | | +- org.apache.axis2:axis2-transport-http:jar:1.7.9:compile [INFO] | | +- org.apache.axis2:axis2-kernel:jar:1.7.9:compile [INFO] | | | +- org.apache.ws.commons.axiom:axiom-api:jar:1.2.21:compile [INFO] | | | | +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.1:compile [INFO] | | | | +- jaxen:jaxen:jar:1.2.0:compile [INFO] | | | | +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile [INFO] | | | | - org.apache.james:apache-mime4j-core:jar:0.7.2:compile [INFO] | | | +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.21:runtime [INFO] | | | +- org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:jar:1.1.2:compile [INFO] | | | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1:compile [INFO] | | | +- wsdl4j:wsdl4j:jar:1.6.3:compile [INFO] | | | +- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile [INFO] | | | +- org.apache.neethi:neethi:jar:3.0.3:compile [INFO] | | | - org.apache.woden:woden-core:jar:1.0M10:compile [INFO] | | - org.apache.axis2:axis2-transport-local:jar:1.7.9:runtime [INFO] | +- com.sap.cloud.sdk.s4hana:rfc:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.quality:common:jar:3.45.0:compile [INFO] | | | - org.apache.commons:commons-csv:jar:1.8:compile [INFO] | | - org.json:json:jar:20210307:compile [INFO] | - com.sap.cloud.servicesdk:odatav2-connectivity-sdk3:jar:1.40.11:compile [INFO] | +- com.sap.cloud.servicesdk:jacksonutil-sdk3:jar:1.40.11:compile [INFO] | +- joda-time:joda-time:jar:2.9.9:compile [INFO] | - com.sap.cloud.servicesdk.prov:api:jar:1.40.11:compile [INFO] | +- javax.transaction:javax.transaction-api:jar:1.3:compile [INFO] | +- commons-beanutils:commons-beanutils:jar:1.9.4:compile [INFO] | | - commons-collections:commons-collections:jar:3.2.2:compile [INFO] | - com.sap.cds:cds4j-api:jar:1.13.1:compile [INFO] +- com.sap.cloud.sdk.datamodel:openapi-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity:jar:3.45.0:compile [INFO] | +- com.google.code.findbugs:jsr305:jar:3.0.2:compile [INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.12.3:compile [INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.13:compile [INFO] | | - commons-codec:commons-codec:jar:1.15:compile [INFO] | +- org.springframework:spring-core:jar:5.3.4:compile [INFO] | | - org.springframework:spring-jcl:jar:5.3.4:compile [INFO] | +- org.springframework:spring-web:jar:5.3.4:compile [INFO] | - com.fasterxml.jackson.core:jackson-core:jar:2.12.3:compile [INFO] +- com.sap.hcp.cf.logging:cf-java-logging-support-logback:jar:3.4.0:compile [INFO] | - com.sap.hcp.cf.logging:cf-java-logging-support-core:jar:3.4.0:compile [INFO] | - com.fasterxml.jackson.jr:jackson-jr-objects:jar:2.12.3:compile [INFO] +- com.sap.hcp.cf.logging:cf-java-logging-support-servlet:jar:3.3.0:compile [INFO] | - com.auth0:java-jwt:jar:3.15.0:compile [INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.4.3:compile [INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.4.3:compile [INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile [INFO] | | | | - ch.qos.logback:logback-core:jar:1.2.3:compile [INFO] | | | - org.slf4j:jul-to-slf4j:jar:1.7.30:compile [INFO] | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile [INFO] | | - org.yaml:snakeyaml:jar:1.27:compile [INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.4.3:compile [INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.12.3:compile [INFO] | | - com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.12.3:compile [INFO] | - org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.3:compile [INFO] | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.43:compile [INFO] | +- org.glassfish:jakarta.el:jar:3.0.3:compile [INFO] | - org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.43:compile [INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.4.3:compile [INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.4.3:compile [INFO] | | - org.springframework.boot:spring-boot-actuator:jar:2.4.3:compile [INFO] | - io.micrometer:micrometer-core:jar:1.6.4:compile [INFO] | +- org.hdrhistogram:HdrHistogram:jar:2.1.12:compile [INFO] | - org.latencyutils:LatencyUtils:jar:2.0.3:runtime [INFO] +- com.sap.cloud.security.xsuaa:xsuaa-spring-boot-starter:jar:2.8.8:compile [INFO] | +- com.sap.cloud.security.xsuaa:spring-xsuaa:jar:2.8.8:compile [INFO] | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.13.3:compile [INFO] | | | - org.apache.logging.log4j:log4j-api:jar:2.13.3:compile [INFO] | | - com.sap.cloud.security.xsuaa:api:jar:2.8.8:compile [INFO] | +- org.springframework.boot:spring-boot-starter-security:jar:2.4.3:compile [INFO] | | +- org.springframework.security:spring-security-config:jar:5.4.5:compile [INFO] | | - org.springframework.security:spring-security-web:jar:5.4.5:compile [INFO] | +- org.springframework.security:spring-security-oauth2-jose:jar:5.4.5:compile [INFO] | | +- com.nimbusds:nimbus-jose-jwt:jar:8.20.2:compile [INFO] | | | - com.github.stephenc.jcip:jcip-annotations:jar:1.0-1:compile [INFO] | | +- org.springframework.security:spring-security-core:jar:5.4.5:compile [INFO] | | - org.springframework.security:spring-security-oauth2-core:jar:5.4.5:compile [INFO] | - org.springframework.security:spring-security-oauth2-resource-server:jar:5.4.5:compile [INFO] +- javax.inject:javax.inject:jar:1:compile [INFO] +- org.junit.platform:junit-platform-commons:jar:1.7.1:test [INFO] | - org.apiguardian:apiguardian-api:jar:1.1.0:test [INFO] +- org.junit.jupiter:junit-jupiter:jar:5.7.1:test [INFO] | +- org.junit.jupiter:junit-jupiter-api:jar:5.7.1:test [INFO] | | - org.opentest4j:opentest4j:jar:1.2.0:test [INFO] | +- org.junit.jupiter:junit-jupiter-params:jar:5.7.1:test [INFO] | - org.junit.jupiter:junit-jupiter-engine:jar:5.7.1:test [INFO] | - org.junit.platform:junit-platform-engine:jar:1.7.1:test [INFO] - org.projectlombok:lombok:jar:1.18.20:provided [INFO] [INFO] --------< com.xsuite.sphere:helix-connector-integration-tests >--------- [INFO] Building helix-connector - Integration Tests 0.0.1-SNAPSHOT [3/3] [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ helix-connector-integration-tests --- [INFO] com.xsuite.sphere:helix-connector-integration-tests:jar:0.0.1-SNAPSHOT [INFO] +- com.xsuite.sphere:helix-connector-application:jar:0.0.1-SNAPSHOT:compile [INFO] | +- com.xsuite.sphere.backend:odata-library:jar:0.0.5:compile [INFO] | | +- com.xsuite.sphere.backend:common:jar:0.0.5:compile [INFO] | | | - commons-io:commons-io:jar:2.8.0:compile [INFO] | | +- org.springframework:spring-webmvc:jar:5.3.4:compile [INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.3:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:odata-generator:jar:3.45.0:compile [INFO] | | | +- com.sap.cloud.sdk.datamodel:odata-core:jar:3.45.0:compile [INFO] | | | | - org.jsoup:jsoup:jar:1.13.1:compile [INFO] | | | +- com.sap.cloud.sdk.datamodel:datamodel-metadata-generator:jar:3.45.0:compile [INFO] | | | +- com.sap.cloud.sdk.datamodel:odata-generator-utility:jar:3.45.0:compile [INFO] | | | | - com.thoughtworks.qdox:qdox:jar:2.0.0:compile [INFO] | | | +- com.sap.cloud.servicesdk:odata-v2-lib:jar:1.40.11:compile [INFO] | | | | - com.sap.cloud.servicesdk:developer_license:jar:1.40.11:compile [INFO] | | | +- commons-configuration:commons-configuration:jar:1.10:compile [INFO] | | | | - commons-lang:commons-lang:jar:2.6:compile [INFO] | | | +- org.apache.commons:commons-text:jar:1.9:compile [INFO] | | | - com.sun.codemodel:codemodel:jar:2.6:compile [INFO] | | - com.sap.cloud.sdk.datamodel:odata-v4-core:jar:3.45.0:compile [INFO] | | - com.sap.cloud.sdk.datamodel:odata-client:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:scp-cf:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:auditlog-scp-cf:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core-scp-cf:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp-cf:jar:3.45.0:compile [INFO] | | | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp:jar:3.45.0:compile [INFO] | | | +- com.sap.cloud.sdk.cloudplatform:resilience:jar:3.45.0:compile [INFO] | | | +- com.sap.cloud.sdk.frameworks:resilience4j:jar:3.45.0:runtime [INFO] | | | | +- io.github.resilience4j:resilience4j-circuitbreaker:jar:1.7.0:runtime [INFO] | | | | | - io.github.resilience4j:resilience4j-core:jar:1.7.0:runtime [INFO] | | | | +- io.github.resilience4j:resilience4j-bulkhead:jar:1.7.0:runtime [INFO] | | | | +- io.github.resilience4j:resilience4j-timelimiter:jar:1.7.0:runtime [INFO] | | | | +- io.github.resilience4j:resilience4j-cache:jar:1.7.0:runtime [INFO] | | | | | - javax.cache:cache-api:jar:1.1.1:runtime [INFO] | | | | - io.github.resilience4j:resilience4j-retry:jar:1.7.0:runtime [INFO] | | | +- com.sap.cloud.security.xsuaa:token-client:jar:2.8.8:compile [INFO] | | | +- net.minidev:json-smart:jar:2.3:compile [INFO] | | | | - net.minidev:accessors-smart:jar:1.2:compile [INFO] | | | - com.sap.cloud.security:java-api:jar:2.8.8:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:security-scp-cf:jar:3.45.0:compile [INFO] | | | - com.sap.cloud.security:java-security:jar:2.8.8:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:tenant-scp-cf:jar:3.45.0:compile [INFO] | | - com.sap.cloud.sdk.cloudplatform:metering:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-all:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.s4hana:s4hana-api-odata:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.s4hana:s4hana-api-odata-v4:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:soap:jar:3.45.0:compile [INFO] | | | +- org.apache.axis2:axis2-adb:jar:1.7.9:compile [INFO] | | | | - org.apache.ws.commons.axiom:axiom-dom:jar:1.2.21:runtime [INFO] | | | | - org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0:runtime [INFO] | | | | - org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime [INFO] | | | +- org.apache.axis2:axis2-transport-http:jar:1.7.9:compile [INFO] | | | +- org.apache.axis2:axis2-kernel:jar:1.7.9:compile [INFO] | | | | +- org.apache.ws.commons.axiom:axiom-api:jar:1.2.21:compile [INFO] | | | | | +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.1:compile [INFO] | | | | | +- jaxen:jaxen:jar:1.2.0:compile [INFO] | | | | | +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile [INFO] | | | | | - org.apache.james:apache-mime4j-core:jar:0.7.2:compile [INFO] | | | | +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.21:runtime [INFO] | | | | +- org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:jar:1.1.2:compile [INFO] | | | | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1:compile [INFO] | | | | +- wsdl4j:wsdl4j:jar:1.6.3:compile [INFO] | | | | +- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile [INFO] | | | | +- org.apache.neethi:neethi:jar:3.0.3:compile [INFO] | | | | - org.apache.woden:woden-core:jar:1.0M10:compile [INFO] | | | - org.apache.axis2:axis2-transport-local:jar:1.7.9:runtime [INFO] | | +- com.sap.cloud.sdk.s4hana:rfc:jar:3.45.0:compile [INFO] | | | - org.json:json:jar:20210307:compile [INFO] | | - com.sap.cloud.servicesdk:odatav2-connectivity-sdk3:jar:1.40.11:compile [INFO] | | +- com.sap.cloud.servicesdk:jacksonutil-sdk3:jar:1.40.11:compile [INFO] | | +- joda-time:joda-time:jar:2.9.9:compile [INFO] | | - com.sap.cloud.servicesdk.prov:api:jar:1.40.11:compile [INFO] | | +- javax.transaction:javax.transaction-api:jar:1.3:compile [INFO] | | +- commons-beanutils:commons-beanutils:jar:1.9.4:compile [INFO] | | | - commons-collections:commons-collections:jar:3.2.2:compile [INFO] | | - com.sap.cds:cds4j-api:jar:1.13.1:compile [INFO] | +- com.sap.cloud.sdk.datamodel:openapi-core:jar:3.45.0:compile [INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.5.13:compile [INFO] | | | - commons-codec:commons-codec:jar:1.15:compile [INFO] | | - com.fasterxml.jackson.core:jackson-core:jar:2.12.3:compile [INFO] | +- com.sap.hcp.cf.logging:cf-java-logging-support-logback:jar:3.4.0:compile [INFO] | | - com.sap.hcp.cf.logging:cf-java-logging-support-core:jar:3.4.0:compile [INFO] | | - com.fasterxml.jackson.jr:jackson-jr-objects:jar:2.12.3:compile [INFO] | +- com.sap.hcp.cf.logging:cf-java-logging-support-servlet:jar:3.3.0:compile [INFO] | | - com.auth0:java-jwt:jar:3.15.0:compile [INFO] | +- org.springframework.boot:spring-boot-starter-web:jar:2.4.3:compile [INFO] | | - org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.3:compile [INFO] | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.43:compile [INFO] | | +- org.glassfish:jakarta.el:jar:3.0.3:compile [INFO] | | - org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.43:compile [INFO] | +- org.springframework.boot:spring-boot-starter-actuator:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.4.3:compile [INFO] | | | - org.springframework.boot:spring-boot-actuator:jar:2.4.3:compile [INFO] | | - io.micrometer:micrometer-core:jar:1.6.4:compile [INFO] | | +- org.hdrhistogram:HdrHistogram:jar:2.1.12:compile [INFO] | | - org.latencyutils:LatencyUtils:jar:2.0.3:runtime [INFO] | +- com.sap.cloud.security.xsuaa:xsuaa-spring-boot-starter:jar:2.8.8:compile [INFO] | | +- com.sap.cloud.security.xsuaa:spring-xsuaa:jar:2.8.8:compile [INFO] | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.13.3:compile [INFO] | | | | - org.apache.logging.log4j:log4j-api:jar:2.13.3:compile [INFO] | | | - com.sap.cloud.security.xsuaa:api:jar:2.8.8:compile [INFO] | | +- org.springframework.boot:spring-boot-starter-security:jar:2.4.3:compile [INFO] | | | - org.springframework.security:spring-security-config:jar:5.4.5:compile [INFO] | | +- org.springframework.security:spring-security-oauth2-jose:jar:5.4.5:compile [INFO] | | | +- com.nimbusds:nimbus-jose-jwt:jar:8.20.2:compile [INFO] | | | | - com.github.stephenc.jcip:jcip-annotations:jar:1.0-1:compile [INFO] | | | - org.springframework.security:spring-security-oauth2-core:jar:5.4.5:compile [INFO] | | - org.springframework.security:spring-security-oauth2-resource-server:jar:5.4.5:compile [INFO] | - javax.inject:javax.inject:jar:1:compile [INFO] +- com.xsuite.sphere.backend:destinations:jar:0.0.5:compile [INFO] | - org.springframework.boot:spring-boot-starter:jar:2.4.3:compile [INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:2.4.3:compile [INFO] | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile [INFO] | | | - ch.qos.logback:logback-core:jar:1.2.3:compile [INFO] | | - org.slf4j:jul-to-slf4j:jar:1.7.30:compile [INFO] | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile [INFO] | - org.yaml:snakeyaml:jar:1.27:compile [INFO] +- com.sap.cloud.sdk.testutil:testutil-core:jar:3.45.0:test [INFO] | +- com.sap.cloud.sdk.cloudplatform:auditlog:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:caching:jar:3.45.0:compile [INFO] | | - com.github.ben-manes.caffeine:caffeine:jar:2.9.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.quality:common:jar:3.45.0:compile [INFO] | | | - org.apache.commons:commons-csv:jar:1.8:compile [INFO] | | - org.apache.commons:commons-lang3:jar:3.12.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:security:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:servlet:jar:3.45.0:compile [INFO] | | - com.google.code.gson:gson:jar:2.8.6:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:tenant:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-core:jar:3.45.0:compile [INFO] | | - com.sap.cloud.sdk.datamodel:fluent-result:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-connectivity:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.testutil:testutil-resources:jar:3.45.0:test [INFO] | +- org.slf4j:slf4j-api:jar:1.7.30:compile [INFO] | +- org.slf4j:jcl-over-slf4j:jar:1.7.30:runtime [INFO] | +- com.google.code.findbugs:jsr305:jar:3.0.2:compile [INFO] | +- io.vavr:vavr:jar:0.10.3:compile [INFO] | | - io.vavr:vavr-match:jar:0.10.3:compile [INFO] | +- com.google.guava:guava:jar:30.1.1-jre:compile [INFO] | | +- com.google.guava:failureaccess:jar:1.0.1:compile [INFO] | | +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile [INFO] | | - com.google.j2objc:j2objc-annotations:jar:1.3:compile [INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.12.3:compile [INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.12.3:compile [INFO] | +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.12.3:test [INFO] | +- com.mikesamuel:json-sanitizer:jar:1.2.2:compile [INFO] | +- com.google.errorprone:error_prone_annotations:jar:2.6.0:compile [INFO] | +- org.mockito:mockito-core:jar:3.9.0:test [INFO] | | +- net.bytebuddy:byte-buddy:jar:1.10.20:test [INFO] | | +- net.bytebuddy:byte-buddy-agent:jar:1.10.20:test [INFO] | | - org.objenesis:objenesis:jar:3.2:test [INFO] | +- com.github.tomakehurst:wiremock:jar:2.27.2:test [INFO] | | +- org.eclipse.jetty:jetty-server:jar:9.4.39.v20210325:test [INFO] | | | +- javax.servlet:javax.servlet-api:jar:4.0.1:test [INFO] | | | +- org.eclipse.jetty:jetty-http:jar:9.4.39.v20210325:test [INFO] | | | - org.eclipse.jetty:jetty-io:jar:9.4.39.v20210325:test [INFO] | | +- org.eclipse.jetty:jetty-servlet:jar:9.4.39.v20210325:test [INFO] | | | +- org.eclipse.jetty:jetty-security:jar:9.4.39.v20210325:test [INFO] | | | - org.eclipse.jetty:jetty-util-ajax:jar:9.4.39.v20210325:test [INFO] | | +- org.eclipse.jetty:jetty-servlets:jar:9.4.39.v20210325:test [INFO] | | | +- org.eclipse.jetty:jetty-continuation:jar:9.4.39.v20210325:test [INFO] | | | - org.eclipse.jetty:jetty-util:jar:9.4.39.v20210325:test [INFO] | | +- org.eclipse.jetty:jetty-webapp:jar:9.4.39.v20210325:test [INFO] | | | - org.eclipse.jetty:jetty-xml:jar:9.4.39.v20210325:test [INFO] | | +- org.eclipse.jetty:jetty-proxy:jar:9.4.39.v20210325:test [INFO] | | | - org.eclipse.jetty:jetty-client:jar:9.4.39.v20210325:test [INFO] | | +- org.xmlunit:xmlunit-core:jar:2.7.0:test [INFO] | | +- org.xmlunit:xmlunit-legacy:jar:2.7.0:test [INFO] | | +- org.xmlunit:xmlunit-placeholders:jar:2.7.0:test [INFO] | | +- com.jayway.jsonpath:json-path:jar:2.5.0:compile [INFO] | | +- org.ow2.asm:asm:jar:7.0:test [INFO] | | +- net.sf.jopt-simple:jopt-simple:jar:5.0.3:test [INFO] | | +- com.github.jknack:handlebars:jar:4.0.7:test [INFO] | | | - org.antlr:antlr4-runtime:jar:4.7.1:test [INFO] | | +- com.github.jknack:handlebars-helpers:jar:4.0.7:test [INFO] | | +- com.flipkart.zjsonpatch:zjsonpatch:jar:0.4.4:test [INFO] | | - commons-fileupload:commons-fileupload:jar:1.4:test [INFO] | - org.apache.httpcomponents:httpcore:jar:4.4.14:compile [INFO] +- org.springframework:spring-test:jar:5.3.4:test [INFO] | - org.springframework:spring-core:jar:5.3.4:compile [INFO] | - org.springframework:spring-jcl:jar:5.3.4:compile [INFO] +- org.springframework.boot:spring-boot-test:jar:2.4.3:test [INFO] | - org.springframework.boot:spring-boot:jar:2.4.3:compile [INFO] | - org.springframework:spring-context:jar:5.3.4:compile [INFO] +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.4.3:test [INFO] | - org.springframework.boot:spring-boot-autoconfigure:jar:2.4.3:compile [INFO] +- org.springframework.security:spring-security-test:jar:5.4.5:test [INFO] | +- org.springframework.security:spring-security-core:jar:5.4.5:compile [INFO] | | +- org.springframework:spring-aop:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-beans:jar:5.3.4:compile [INFO] | | - org.springframework:spring-expression:jar:5.3.4:compile [INFO] | - org.springframework.security:spring-security-web:jar:5.4.5:compile [INFO] +- org.springframework.boot:spring-boot-starter-webflux:jar:2.4.3:compile [INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.4.3:compile [INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.12.3:compile [INFO] | | - com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.12.3:compile [INFO] | +- org.springframework.boot:spring-boot-starter-reactor-netty:jar:2.4.3:compile [INFO] | | - io.projectreactor.netty:reactor-netty-http:jar:1.0.4:compile [INFO] | | +- io.netty:netty-codec-http:jar:4.1.59.Final:compile [INFO] | | | +- io.netty:netty-common:jar:4.1.59.Final:compile [INFO] | | | +- io.netty:netty-buffer:jar:4.1.59.Final:compile [INFO] | | | +- io.netty:netty-transport:jar:4.1.59.Final:compile [INFO] | | | +- io.netty:netty-codec:jar:4.1.59.Final:compile [INFO] | | | - io.netty:netty-handler:jar:4.1.59.Final:compile [INFO] | | +- io.netty:netty-codec-http2:jar:4.1.59.Final:compile [INFO] | | +- io.netty:netty-resolver-dns:jar:4.1.59.Final:compile [INFO] | | | +- io.netty:netty-resolver:jar:4.1.59.Final:compile [INFO] | | | - io.netty:netty-codec-dns:jar:4.1.59.Final:compile [INFO] | | +- io.netty:netty-resolver-dns-native-macos:jar:osx-x86_64:4.1.59.Final:compile [INFO] | | | - io.netty:netty-transport-native-unix-common:jar:4.1.59.Final:compile [INFO] | | +- io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.59.Final:compile [INFO] | | - io.projectreactor.netty:reactor-netty-core:jar:1.0.4:compile [INFO] | | - io.netty:netty-handler-proxy:jar:4.1.59.Final:compile [INFO] | | - io.netty:netty-codec-socks:jar:4.1.59.Final:compile [INFO] | +- org.springframework:spring-web:jar:5.3.4:compile [INFO] | - org.springframework:spring-webflux:jar:5.3.4:compile [INFO] | - io.projectreactor:reactor-core:jar:3.4.3:compile [INFO] | - org.reactivestreams:reactive-streams:jar:1.0.3:compile [INFO] +- org.junit.platform:junit-platform-commons:jar:1.7.1:test [INFO] | - org.apiguardian:apiguardian-api:jar:1.1.0:test [INFO] +- org.junit.jupiter:junit-jupiter:jar:5.7.1:test [INFO] | +- org.junit.jupiter:junit-jupiter-api:jar:5.7.1:test [INFO] | | - org.opentest4j:opentest4j:jar:1.2.0:test [INFO] | +- org.junit.jupiter:junit-jupiter-params:jar:5.7.1:test [INFO] | - org.junit.jupiter:junit-jupiter-engine:jar:5.7.1:test [INFO] | - org.junit.platform:junit-platform-engine:jar:1.7.1:test [INFO] +- org.assertj:assertj-core:jar:3.19.0:test [INFO] +- org.skyscreamer:jsonassert:jar:1.5.0:test [INFO] - org.projectlombok:lombok:jar:1.18.20:provided [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for helix-connector - Root 0.0.1-SNAPSHOT: [INFO] [INFO] helix-connector - Root ............................. SUCCESS [ 0.413 s] [INFO] helix-connector - Application ...................... SUCCESS [ 0.561 s] [INFO] helix-connector - Integration Tests ................ SUCCESS [ 0.272 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.487 s [INFO] Finished at: 2021-06-03T13:36:26+02:00 [INFO] ------------------------------------------------------------------------

Maven Dependency Tree (Application)

[INFO] Scanning for projects... [INFO] [INFO] -----------< com.xsuite.sphere:helix-connector-application >------------ [INFO] Building helix-connector - Application 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ helix-connector-application --- [INFO] com.xsuite.sphere:helix-connector-application:jar:0.0.1-SNAPSHOT [INFO] +- com.xsuite.sphere.backend:odata-library:jar:0.0.5:compile [INFO] | +- com.xsuite.sphere.backend:common:jar:0.0.5:compile [INFO] | | - commons-io:commons-io:jar:2.8.0:compile [INFO] | +- com.xsuite.sphere.backend:destinations:jar:0.0.5:compile [INFO] | +- org.springframework:spring-webmvc:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-aop:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-beans:jar:5.3.4:compile [INFO] | | +- org.springframework:spring-context:jar:5.3.4:compile [INFO] | | - org.springframework:spring-expression:jar:5.3.4:compile [INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.3:compile [INFO] | | - com.fasterxml.jackson.core:jackson-annotations:jar:2.12.3:compile [INFO] | +- com.sap.cloud.sdk.datamodel:odata-generator:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:odata-core:jar:3.45.0:compile [INFO] | | | - org.jsoup:jsoup:jar:1.13.1:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:fluent-result:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:datamodel-metadata-generator:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.datamodel:odata-generator-utility:jar:3.45.0:compile [INFO] | | | - com.thoughtworks.qdox:qdox:jar:2.0.0:compile [INFO] | | +- com.sap.cloud.servicesdk:odata-v2-lib:jar:1.40.11:compile [INFO] | | | - com.sap.cloud.servicesdk:developer_license:jar:1.40.11:compile [INFO] | | +- org.slf4j:slf4j-api:jar:1.7.30:compile [INFO] | | +- org.slf4j:jcl-over-slf4j:jar:1.7.30:runtime [INFO] | | +- io.vavr:vavr:jar:0.10.3:compile [INFO] | | | - io.vavr:vavr-match:jar:0.10.3:compile [INFO] | | +- com.google.guava:guava:jar:30.1.1-jre:compile [INFO] | | | +- com.google.guava:failureaccess:jar:1.0.1:compile [INFO] | | | +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile [INFO] | | | - com.google.j2objc:j2objc-annotations:jar:1.3:compile [INFO] | | +- com.google.code.gson:gson:jar:2.8.6:compile [INFO] | | +- org.apache.commons:commons-lang3:jar:3.12.0:compile [INFO] | | +- commons-configuration:commons-configuration:jar:1.10:compile [INFO] | | | - commons-lang:commons-lang:jar:2.6:compile [INFO] | | +- org.apache.commons:commons-text:jar:1.9:compile [INFO] | | +- com.sun.codemodel:codemodel:jar:2.6:compile [INFO] | | - com.google.errorprone:error_prone_annotations:jar:2.6.0:compile [INFO] | - com.sap.cloud.sdk.datamodel:odata-v4-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.datamodel:odata-client:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core:jar:3.45.0:compile [INFO] | - org.apache.httpcomponents:httpcore:jar:4.4.14:compile [INFO] +- com.sap.cloud.sdk.cloudplatform:scp-cf:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:auditlog-scp-cf:jar:3.45.0:compile [INFO] | | - com.sap.cloud.sdk.cloudplatform:auditlog:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:caching:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:security:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:tenant:jar:3.45.0:compile [INFO] | | - com.github.ben-manes.caffeine:caffeine:jar:2.9.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core-scp-cf:jar:3.45.0:compile [INFO] | | - com.mikesamuel:json-sanitizer:jar:1.2.2:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp-cf:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.cloudplatform:resilience:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.frameworks:resilience4j:jar:3.45.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-circuitbreaker:jar:1.7.0:runtime [INFO] | | | | - io.github.resilience4j:resilience4j-core:jar:1.7.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-bulkhead:jar:1.7.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-timelimiter:jar:1.7.0:runtime [INFO] | | | +- io.github.resilience4j:resilience4j-cache:jar:1.7.0:runtime [INFO] | | | | - javax.cache:cache-api:jar:1.1.1:runtime [INFO] | | | - io.github.resilience4j:resilience4j-retry:jar:1.7.0:runtime [INFO] | | +- com.sap.cloud.security.xsuaa:token-client:jar:2.8.8:compile [INFO] | | +- com.jayway.jsonpath:json-path:jar:2.5.0:compile [INFO] | | +- net.minidev:json-smart:jar:2.3:compile [INFO] | | | - net.minidev:accessors-smart:jar:1.2:compile [INFO] | | - com.sap.cloud.security:java-api:jar:2.8.8:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:security-scp-cf:jar:3.45.0:compile [INFO] | | - com.sap.cloud.security:java-security:jar:2.8.8:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:servlet:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:tenant-scp-cf:jar:3.45.0:compile [INFO] | - com.sap.cloud.sdk.cloudplatform:metering:jar:3.45.0:compile [INFO] +- com.sap.cloud.sdk.s4hana:s4hana-all:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-connectivity:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-api-odata:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.s4hana:s4hana-api-odata-v4:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.datamodel:soap:jar:3.45.0:compile [INFO] | | +- org.apache.axis2:axis2-adb:jar:1.7.9:compile [INFO] | | | - org.apache.ws.commons.axiom:axiom-dom:jar:1.2.21:runtime [INFO] | | | - org.codehaus.woodstox:woodstox-core-asl:jar:4.2.0:runtime [INFO] | | | - org.codehaus.woodstox:stax2-api:jar:3.1.1:runtime [INFO] | | +- org.apache.axis2:axis2-transport-http:jar:1.7.9:compile [INFO] | | +- org.apache.axis2:axis2-kernel:jar:1.7.9:compile [INFO] | | | +- org.apache.ws.commons.axiom:axiom-api:jar:1.2.21:compile [INFO] | | | | +- org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar:1.1:compile [INFO] | | | | +- jaxen:jaxen:jar:1.2.0:compile [INFO] | | | | +- org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar:1.0.1:compile [INFO] | | | | - org.apache.james:apache-mime4j-core:jar:0.7.2:compile [INFO] | | | +- org.apache.ws.commons.axiom:axiom-impl:jar:1.2.21:runtime [INFO] | | | +- org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:jar:1.1.2:compile [INFO] | | | +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1:compile [INFO] | | | +- wsdl4j:wsdl4j:jar:1.6.3:compile [INFO] | | | +- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile [INFO] | | | +- org.apache.neethi:neethi:jar:3.0.3:compile [INFO] | | | - org.apache.woden:woden-core:jar:1.0M10:compile [INFO] | | - org.apache.axis2:axis2-transport-local:jar:1.7.9:runtime [INFO] | +- com.sap.cloud.sdk.s4hana:rfc:jar:3.45.0:compile [INFO] | | +- com.sap.cloud.sdk.quality:common:jar:3.45.0:compile [INFO] | | | - org.apache.commons:commons-csv:jar:1.8:compile [INFO] | | - org.json:json:jar:20210307:compile [INFO] | - com.sap.cloud.servicesdk:odatav2-connectivity-sdk3:jar:1.40.11:compile [INFO] | +- com.sap.cloud.servicesdk:jacksonutil-sdk3:jar:1.40.11:compile [INFO] | +- joda-time:joda-time:jar:2.9.9:compile [INFO] | - com.sap.cloud.servicesdk.prov:api:jar:1.40.11:compile [INFO] | +- javax.transaction:javax.transaction-api:jar:1.3:compile [INFO] | +- commons-beanutils:commons-beanutils:jar:1.9.4:compile [INFO] | | - commons-collections:commons-collections:jar:3.2.2:compile [INFO] | - com.sap.cds:cds4j-api:jar:1.13.1:compile [INFO] +- com.sap.cloud.sdk.datamodel:openapi-core:jar:3.45.0:compile [INFO] | +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity:jar:3.45.0:compile [INFO] | +- com.google.code.findbugs:jsr305:jar:3.0.2:compile [INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.12.3:compile [INFO] | +- org.apache.httpcomponents:httpclient:jar:4.5.13:compile [INFO] | | - commons-codec:commons-codec:jar:1.15:compile [INFO] | +- org.springframework:spring-core:jar:5.3.4:compile [INFO] | | - org.springframework:spring-jcl:jar:5.3.4:compile [INFO] | +- org.springframework:spring-web:jar:5.3.4:compile [INFO] | - com.fasterxml.jackson.core:jackson-core:jar:2.12.3:compile [INFO] +- com.sap.hcp.cf.logging:cf-java-logging-support-logback:jar:3.4.0:compile [INFO] | - com.sap.hcp.cf.logging:cf-java-logging-support-core:jar:3.4.0:compile [INFO] | - com.fasterxml.jackson.jr:jackson-jr-objects:jar:2.12.3:compile [INFO] +- com.sap.hcp.cf.logging:cf-java-logging-support-servlet:jar:3.3.0:compile [INFO] | - com.auth0:java-jwt:jar:3.15.0:compile [INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.4.3:compile [INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.4.3:compile [INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.4.3:compile [INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile [INFO] | | | | - ch.qos.logback:logback-core:jar:1.2.3:compile [INFO] | | | - org.slf4j:jul-to-slf4j:jar:1.7.30:compile [INFO] | | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile [INFO] | | - org.yaml:snakeyaml:jar:1.27:compile [INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.4.3:compile [INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.12.3:compile [INFO] | | - com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.12.3:compile [INFO] | - org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.3:compile [INFO] | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.43:compile [INFO] | +- org.glassfish:jakarta.el:jar:3.0.3:compile [INFO] | - org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.43:compile [INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.4.3:compile [INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.4.3:compile [INFO] | | - org.springframework.boot:spring-boot-actuator:jar:2.4.3:compile [INFO] | - io.micrometer:micrometer-core:jar:1.6.4:compile [INFO] | +- org.hdrhistogram:HdrHistogram:jar:2.1.12:compile [INFO] | - org.latencyutils:LatencyUtils:jar:2.0.3:runtime [INFO] +- com.sap.cloud.security.xsuaa:xsuaa-spring-boot-starter:jar:2.8.8:compile [INFO] | +- com.sap.cloud.security.xsuaa:spring-xsuaa:jar:2.8.8:compile [INFO] | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.13.3:compile [INFO] | | | - org.apache.logging.log4j:log4j-api:jar:2.13.3:compile [INFO] | | - com.sap.cloud.security.xsuaa:api:jar:2.8.8:compile [INFO] | +- org.springframework.boot:spring-boot-starter-security:jar:2.4.3:compile [INFO] | | +- org.springframework.security:spring-security-config:jar:5.4.5:compile [INFO] | | - org.springframework.security:spring-security-web:jar:5.4.5:compile [INFO] | +- org.springframework.security:spring-security-oauth2-jose:jar:5.4.5:compile [INFO] | | +- com.nimbusds:nimbus-jose-jwt:jar:8.20.2:compile [INFO] | | | - com.github.stephenc.jcip:jcip-annotations:jar:1.0-1:compile [INFO] | | +- org.springframework.security:spring-security-core:jar:5.4.5:compile [INFO] | | - org.springframework.security:spring-security-oauth2-core:jar:5.4.5:compile [INFO] | - org.springframework.security:spring-security-oauth2-resource-server:jar:5.4.5:compile [INFO] +- javax.inject:javax.inject:jar:1:compile [INFO] +- org.junit.platform:junit-platform-commons:jar:1.7.1:test [INFO] | - org.apiguardian:apiguardian-api:jar:1.1.0:test [INFO] +- org.junit.jupiter:junit-jupiter:jar:5.7.1:test [INFO] | +- org.junit.jupiter:junit-jupiter-api:jar:5.7.1:test [INFO] | | - org.opentest4j:opentest4j:jar:1.2.0:test [INFO] | +- org.junit.jupiter:junit-jupiter-params:jar:5.7.1:test [INFO] | - org.junit.jupiter:junit-jupiter-engine:jar:5.7.1:test [INFO] | - org.junit.platform:junit-platform-engine:jar:1.7.1:test [INFO] - org.projectlombok:lombok:jar:1.18.20:provided [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.167 s [INFO] Finished at: 2021-06-03T13:36:40+02:00 [INFO] ------------------------------------------------------------------------

Project Details


Checklist

Emdee89 commented 3 years ago

@reinhardjaeschke Thanks for reaching out to the SAP Cloud SDK support.

We're analyzing your issue at the moment. We'll come back to you once we have more insights.

Emdee89 commented 3 years ago

@reinhardjaeschke Running in BTP, the BTP destination service takes care about resolving the authorization details for a destination. That is, depending on the authentication type, to receive a secret/token and to return it in the form of a prepared HTTP request header. The SDK simply takes that header and forwards it to the target system.

That is why the SDK does not reimplement the same logic for all possible authentication types for the purpose of running the app locally.

Instead of maintaining the destination in the environment variable destinations, we recommend to copy/paste the value of the VCAP_SERVICES variable to your operation system. Then the SDK EnvVarDestinationLoader will not come into play, but the ScpCfDestinationLoader will query the BTP destination service and the above mentioned logic will take place.

reinhardjaeschke commented 3 years ago

Thanks for the hint. That seems to be working.

But you are suggesting to connect to BTP for local tests, right? That might not be feasible in every scenario. In fact, that's exactly something we would like to avoid.

Also the EnvVarDestinationLoader seems to be a little bit useless then, or am I missing something here?

However as a temporary workaround it will do, so thanks a lot again.

Emdee89 commented 3 years ago

@reinhardjaeschke As you found, the EnvVarDestinationLoader is primarily usable when you want to connect to a system with no authentication (like a local mock server) or with basic authentication. For other cases, where more sophisticated authorization flows are necessary, the suggested approach of connecting to the BTP destination service is the recommended way.

Emdee89 commented 3 years ago

@reinhardjaeschke I wanted to add to my above explanation, that we recommend to use mock systems for local testing. Such mock systems typically do not require sophisticated authorization flows.

reinhardjaeschke commented 3 years ago

Well, the system we do have to use does need a sophisticated authorization flow. And there also is no way to mock this system in a reasonable time.

We then apparently have no choice but to connect with the BTP for local tests.

A small side note: You have to transfer the VCAP_SERVICES from the cloud to the local environment variables after every BTP deploy.

artemkovalyov commented 3 years ago

Hi @reinhardjaeschke,

If those are local tests why service can't be used with plain auth or without any? Is it external to your system? I want to understand the scenario e2e so that we can figure out if we should provide such convenience for local testing or not. Also, as @Emdee89 mentioned implementing all the Auth Flows would be irrelevant. In this case, I'd be looking into a direction of you having implemented the Auth Flow and us helping with API to enrich the EnvVarDestinationLoader to inject the credentials. I hope you get the direction I'm going to.

reinhardjaeschke commented 3 years ago

Hello,

these tests are integrations tests that use an external system. This system differs from the system configured in SAP BTP. It is external to the machine the tests run on and the auth flow can not be changed.

We are not going to implement any auth flow. This is exactly why we are using a your framework: We would like to concentrate on business requirements and don't want to hassle with every bit and byte ourselves.

artemkovalyov commented 3 years ago

@reinhardjaeschke,

That's quite understandable. What about having a Destination on BTP for test purposes? Or even another instance of destination service handling the destinations for the remote systems used for tests?

This should let SDK do its job and access the test system with correct credentials if the remote system is in any way involved?

The SDK concentrates on supporting BTP workflows which makes providing auth flows for all the other systems overcomplicated. We can't even debug or test it without having a test system.

reinhardjaeschke commented 3 years ago

Hello,

thank you for your suggestion.

It would be nice if you could update the documention of the sections about "Accessing Destinations" and "Configuring HTTP Destinations for Local Deployment" because in our eyes the way is it written now, suggests otherwise:

First all supported Authentication Flows and then local Deployment is described without mentioning that none of them works, exept "BasicAuthentication".

We find this very misleading.

kind regards Reinhard Jaeschke

newtork commented 3 years ago

Hello @reinhardjaeschke,

Thanks for your suggestion! We will update the docs and make this more apparent in the future.

Kind regards, Alexander