0

I come to ask help with an issue I am facing at an application deployment in SCP.

SAP Cloud Platform:

  • SCP environment is Neo
  • Runtime name = Java EE7 Web Profile TomEE 7
  • Version = 1.74

Java application:

  • Archetype Neo
  • SAP Cloud SDk v3

The application log follows:

2020 06 14 10:25:49#+00#ERROR#OpenEJB.tomcat##anonymous#localhost-startStop-1#na#fzrl99axqb#anaplaninboundapplication#web##na#na#na#na#
Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[/anaplan-inbound-application] 
org.apache.openejb.OpenEJBException: Unable to load servlet filter class: com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter: com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter
    at org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2333)
    at org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2024)
    at org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:384)
    at org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:420)
    at org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:1037)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.startInternal(TomcatWebAppBuilder.java:1281)
    at org.apache.tomee.catalina.TomcatWebAppBuilder.configureStart(TomcatWebAppBuilder.java:1125)
    at org.apache.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5065)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1841)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:836)
Caused by: java.lang.ClassNotFoundException: com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter
    at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:186)
    at org.apache.openejb.core.TempClassLoader.loadClass(TempClassLoader.java:83)
    at org.apache.openejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2330)
    ... 20 common frames omitted

Plus, dependency tree:

[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @ anaplan-inbound-application ---
[INFO] Verbose not supported since maven-dependency-plugin 3.0
[INFO] com.sunstar:anaplan-inbound-application:war:0.0.1-SNAPSHOT
[INFO] \- com.sap.cloud.sdk.cloudplatform:scp-neo:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:auditlog-scp-neo:jar:3.11.0:compile
[INFO]    |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core:jar:3.11.0:compile
[INFO]    |  \- com.sap.cloud.sdk.cloudplatform:auditlog:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:caching:jar:3.11.0:compile
[INFO]    |  +- com.sap.cloud.sdk.cloudplatform:security:jar:3.11.0:compile
[INFO]    |  \- com.sap.cloud.sdk.cloudplatform:tenant:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:cloudplatform-core-scp-neo:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp-neo:jar:3.11.0:compile
[INFO]    |  +- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity:jar:3.11.0:compile
[INFO]    |  \- com.sap.cloud.sdk.cloudplatform:cloudplatform-connectivity-scp:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:security-scp-neo:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:servlet:jar:3.11.0:compile
[INFO]    +- com.sap.cloud.sdk.cloudplatform:tenant-scp-neo:jar:3.11.0:compile
[INFO]    \- com.sap.cloud.sdk.cloudplatform:metering-scp-neo:jar:3.11.0:compile
[INFO]       \- com.sap.cloud.sdk.cloudplatform:resilience:jar:3.11.0:compile

The app had shown no issue (before the update) using runtime version 1.0 . I was using sdk-bom version 3.11.0 . I update sdk-bom for version 3.16.1, but no effect.

Other two apps using the very same archetype, except by SAP Cloud SDK v2, presents no error at deployment in SCP.

Also, there is no such error if running in local server (local Neo).

Would you please give a hint on how to overcome this issue?

BR,

Pietro

1 Answers1

0

I guess your application uses backend protection, right?

The class com.sap.cloud.sdk.cloudplatform.security.servlet.HttpSecurityHeadersFilter is included in the Maven artifact

<dependency>
  <groupId>com.sap.cloud.sdk.cloudplatform</groupId>
  <artifactId>security-servlet</artifactId>
</dependency>

Hence please add this dependency to your project and retry.

Emdee
  • 1,689
  • 5
  • 22
  • 35
  • I had this dependency already in the project since the beginning. I created the project based on the Neo archetype. Plus, the project as it is was working just fine when I deployed it last time (February). At this time, version 1.0 was still valid. Now when deployment I obliged to use at least version 1.74. Last but not least, the other apps using SDK v2 are working fine. This one is using SDK v3. – Pietro Henrique Jun 15 '20 at 09:19
  • @PietroHenrique Well I mistyped the artifact id. In fact I meant `security-servlet` – Emdee Jun 15 '20 at 11:03
  • it sorted out my issue. Thanks a lot :) – Pietro Henrique Jun 15 '20 at 11:23