通过HTTPS配置的SAP IDM REST API v2

2020-08-21 05:58发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我遇到了一个棘手的问题。 我最近将我的开发和质量保证系统更新为IDM 8.0 SP6(从IDM 8.0 SP4开始)。 我想我在NWA的某个地方缺少配置。

从SP6开始,文档说"身份管理REST接口v2要求 默认情况下是HTTPS通信。" 如果我尝试从chrome发出一个简单的请求,在生产中我会得到一个结果:

http://:50000/idmrestapi/v2/service/ET_MX_PERSON以及我使用网址时

https://:50001/idmrestapi/v2/service/ET_MX_PERSON

在DEV和QA中,如果尝试使用http,则会收到以下错误消息:出于安全原因,默认情况下,SAP Identity Management需要HTTPS通信。 (与文档一致)

如果我尝试第二个URL,则会收到500 Internal Server Error。

NWA日志显示以下错误:

无法处理对[idmrestapi] Web应用程序中的servlet [OData]的HTTP请求。
[EXCEPTION]
javax.servlet.ServletException:无法在com.sap.idm上调用XSRF servlet过滤器
。 .odata.filter.XSRFFilter.doFilter(XSRFFilter.java:52)
在com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
在com.sap中 .engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:441)
在com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
在com .sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
在com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
在com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)< br> at com.sap.engine.services .servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine .services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap .engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
在com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
在com .sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
在com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)< br>在com.sap.engine.services.httpserver.filters.DefineHostFilter.process( 在com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
处在com.sap.engine.services.httpserver.chain.AbstractChain处的DefineHostFilter.java:27)
。 com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)处的process(AbstractChain.java:78)
com.sap.engine.services.httpserver.chain中的process(MonitoringFilter.java:29)
。 ServerFilter.process(ServerFilter.java:12)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine.services.httpserver。 com.sap.engine.services上的filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
.com.sap.engine.services上的httpserver.chain.ServerFilter.process(ServerFilter.java:12)
。 在com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)上的com.sap.engine.services的httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine的httpserver.chain.AbstractChain.process(AbstractChain.java:78)
。 services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
在com.sap.engine.servi ces.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
来自com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
来自com.sap。 在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)上com的engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
在com。 sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
在com.sap.engine.services.httpserver.server.Processor $ FCAProcessorThread.process(Processor.java:269)
在com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)处
在com.sap.engine.core.thread.execution.Executable.run(Executable.java: 122)在com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)在com.sap.engine.core.thread.execution.CentralExecutor $ SingleThread.run( CentralExecutor.java:328)

然后,我尝试将tc〜idm〜rest〜ear Java应用程序上的参数v2.AllowHttp更改为true,然后重新启动该应用程序。 而且我在HTTP中遇到的错误与在HTTPS中发生的错误相同。

所以我几乎可以确定我在NWA中缺少什么内容。

我没有遵循成功的配置指南部分"在REST接口中为AS Java 7.1及更高版本配置带有登录票证的单点登录"。

有人对我在这里缺少什么有任何想法吗?

非常感谢

衣领

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我遇到了一个棘手的问题。 我最近将我的开发和质量保证系统更新为IDM 8.0 SP6(从IDM 8.0 SP4开始)。 我想我在NWA的某个地方缺少配置。

从SP6开始,文档说"身份管理REST接口v2要求 默认情况下是HTTPS通信。" 如果我尝试从chrome发出一个简单的请求,在生产中我会得到一个结果:

http://:50000/idmrestapi/v2/service/ET_MX_PERSON以及我使用网址时

https://:50001/idmrestapi/v2/service/ET_MX_PERSON

在DEV和QA中,如果尝试使用http,则会收到以下错误消息:出于安全原因,默认情况下,SAP Identity Management需要HTTPS通信。 (与文档一致)

如果我尝试第二个URL,则会收到500 Internal Server Error。

NWA日志显示以下错误:

无法处理对[idmrestapi] Web应用程序中的servlet [OData]的HTTP请求。
[EXCEPTION]
javax.servlet.ServletException:无法在com.sap.idm上调用XSRF servlet过滤器
。 .odata.filter.XSRFFilter.doFilter(XSRFFilter.java:52)
在com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
在com.sap中 .engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:441)
在com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
在com .sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
在com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
在com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)< br> at com.sap.engine.services .servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine .services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:278)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap .engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
在com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
在com .sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
在com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)< br>在com.sap.engine.services.httpserver.filters.DefineHostFilter.process( 在com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
处在com.sap.engine.services.httpserver.chain.AbstractChain处的DefineHostFilter.java:27)
。 com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)处的process(AbstractChain.java:78)
com.sap.engine.services.httpserver.chain中的process(MonitoringFilter.java:29)
。 ServerFilter.process(ServerFilter.java:12)
在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine.services.httpserver。 com.sap.engine.services上的filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
.com.sap.engine.services上的httpserver.chain.ServerFilter.process(ServerFilter.java:12)
。 在com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)上的com.sap.engine.services的httpserver.chain.AbstractChain.process(AbstractChain.java:78)
在com.sap.engine的httpserver.chain.AbstractChain.process(AbstractChain.java:78)
。 services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
在com.sap.engine.servi ces.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
来自com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
来自com.sap。 在com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)上com的engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
在com。 sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
在com.sap.engine.services.httpserver.server.Processor $ FCAProcessorThread.process(Processor.java:269)
在com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)处
在com.sap.engine.core.thread.execution.Executable.run(Executable.java: 122)在com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)在com.sap.engine.core.thread.execution.CentralExecutor $ SingleThread.run( CentralExecutor.java:328)

然后,我尝试将tc〜idm〜rest〜ear Java应用程序上的参数v2.AllowHttp更改为true,然后重新启动该应用程序。 而且我在HTTP中遇到的错误与在HTTPS中发生的错误相同。

所以我几乎可以确定我在NWA中缺少什么内容。

我没有遵循成功的配置指南部分"在REST接口中为AS Java 7.1及更高版本配置带有登录票证的单点登录"。

有人对我在这里缺少什么有任何想法吗?

非常感谢

衣领

付费偷看设置
发送
1条回答
黑丝骑士
1楼-- · 2020-08-21 06:43

您好Clotilde,

我面临着同样的问题。 您是如何解决的?

此致

Jai

一周热门 更多>