2020-09-03 17:36发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我遵循了sap注释(最新的注释描述了配置如何从WACS迁移到Tomcat)。
我有SSO为BI LaunchPad工作。
但是运行http://<服务器名称>:8080/biprws/v1/logon/adsso会导致401错误。
我确实有拆分部署-如果相关,但是我认为BIPRWS没有拆分(没有静态内容)
由于升级到SP7补丁4并没有帮助...
注释#2774175已于昨天发布。 现在有一种解决方法:
在biprws.properties中,为Log_Location添加一个值。 例如:
Log_Location = C:/日志
重新启动Tomcat。
那对我有用吗
显示401错误的消息是什么?
嗨,
关于"如何为tomcat上的biprws配置SSO"的不错的博客
https://blogs.sap.com/2018/03/16/sso-configuration-for-bi-rest-apis-on-tomcat/
希望有帮助。
感谢 Ashraf
消息是:发生java.lang.Exception; 未对此请求执行原始异常消息VSJ身份验证。
有与此相关的注释,建议设置日志文件-我已经完成了。
检查KBA:
2699221-通过负载均衡器访问Fiori BILaunchpad时,会话期满和RWS 00008错误
确认是否在apache httpd.conf文件中为biprws设置了正确的重定向
这是com.sap.bip.rs.cxf.providers.exceptions的跟踪日志。 RestRuntimeExceptionMapper.toResponse(RestRuntimeExceptionMapper.java:16)| C0B94DDE4A8444C9BDBA9B6CA94E52666 | 2019 07 23 08:59:16.900 | +0800 | Debug | Error | << | | | TraceLog | 8108 | 71 | http-nio-8080-exec-2 | ||||||||||||||||||||| com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper ||发生了java.lang.Exception; com.sap.bip.rs.exceptions.InvalidEntSessionException此请求未执行原始异常消息VSJ身份验证:发生java.lang.Exception; com.sap.bip.rs.session.SessionFactory.getSession(SessionFactory.java)上的com.sap.bip.rs.exceptions.InvalidEntSessionException.LogonFailed(InvalidEntSessionException.java:42)上未对此请求执行原始VSJ身份验证 :177),位于com.sap.bip.rs.authentication.LogonResource.doADSSOLogon(LogonResource.java:364),位于sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method),位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) )的org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker。)的java.lang.reflect.Method.invoke(Method.java:498)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java:188)位于org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:204)at org.apache.cxf org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.j)上的.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:270) ava:101)位于org.apache.cxf.interceptor.ServiceInvokerInterceptor $ 1.run(ServiceInvokerInterceptor.java:58)位于org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)位于org.apache.cxf。 org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)的phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)在org.apache.cxf.transport.http.Abstract.HTTPDestination.invoke(AbstractHTTPDestination。 249)在org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:223)在org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:223)在org.apache.cxf org.apache.cxf.transport.servlet.CXFNonSpringServlet上com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:103)上的.transport.servlet.ServletController.invoke(ServletController.java:154) .invoke(CXFNonSpringServlet.java:171)位于org.apache.cxf.transport.servlet.Abstra org处org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:214)处的ctHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)org处的javax.servlet.http.HttpServlet.service(HttpServlet.java:635) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)上的.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)处的.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)在javax.servlet.http.HttpServlet.service(HttpServlet) .java:742),位于org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:154),位于org.apache.catalina.core的javax.servlet.http.HttpServlet.service(HttpServlet.java:742)。 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:16处的ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 6)位于org.apache.catalina.core处的org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)处,位于org.apache.catalina.core处的ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330)的org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor)的.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) .java:118)位于org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) org.springframework.security.web上的org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)。 会议。 org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)上的SessionManagementFilter.doFilter(SessionManagementFilter.java:103)在org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java: 113)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)在org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)在org.springframework.security org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)在org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:186)在org.springf(FilterChainProxy.java:342) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)位于org.springframework.security.web.context.SecurityContextPersistenceFilter。 org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)的org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:87)的doFilter(SecurityContextPersistenceFilter.java:87) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)在org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)在org.springframework.security.web.FilterChainProxy org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)的org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat的.doFilter(FilterChainProxy.java:160) com.businessobjects.saml.CustomSAMLDelegatingFilterProxy.doFilter(CustomSAMLDelegatingFilterProxy.java:60)处的ingFilterProxy.java:259)org.apache.catalina.core处的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)处的org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)处的.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)在org.apache.catalina.valves.ErrorReportValve.invoke( org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)处的ErrorReportValve.java:81)org.apache.catalina处的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)处的 .connector.CoyoteAdapter.service(CoyoteAdapter.j ava:342)在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)在org.apache.coyote.AbstractProtocol $ ConnectionHandler org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1471)的.process(AbstractProtocol.java:800)在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java) :49),位于org.apache.tomcat.util.threads的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)。 java.lang.Thread.run(Thread.java:836)上的TaskThread $ WrappingRunnable.run(TaskThread.java:61)原因:com.crystaldecisions.sdk.exception.SDKException $ ExceptionWrapper:发生了java.lang.Exception; 原始异常消息未对此请求执行VSJ身份验证原因:java.lang.Exception:未对此请求详细信息进行VSJ身份验证:发生了java.lang.Exception; 原始异常消息未对此请求执行VSJ身份验证未在com.businessobjects.sdk.credential上的com.businessobjects.sdk.credential.internal.VintelaCredMgr。(VintelaCredMgr.java:53)上对此请求未执行VSJ身份验证 .VintelaCredMgrFactory.makeVintelaCredMgr(VintelaCredMgrFactory.java:24)at com.sap.bip.rs.session.SessionFactory.getSession(SessionFactory.java:153)... 80多个原因:java.lang.Exception:VSJ身份验证不是 为该请求执行的操作... 83
最多设置5个标签!
由于升级到SP7补丁4并没有帮助...
注释#2774175已于昨天发布。 现在有一种解决方法:
在biprws.properties中,为Log_Location添加一个值。 例如:
Log_Location = C:/日志
重新启动Tomcat。
那对我有用吗
显示401错误的消息是什么?
嗨,
关于"如何为tomcat上的biprws配置SSO"的不错的博客
https://blogs.sap.com/2018/03/16/sso-configuration-for-bi-rest-apis-on-tomcat/
希望有帮助。
感谢
Ashraf
消息是:发生java.lang.Exception; 未对此请求执行原始异常消息VSJ身份验证。
有与此相关的注释,建议设置日志文件-我已经完成了。
检查KBA:
2699221-通过负载均衡器访问Fiori BILaunchpad时,会话期满和RWS 00008错误
确认是否在apache httpd.conf文件中为biprws设置了正确的重定向
这是com.sap.bip.rs.cxf.providers.exceptions的跟踪日志。 RestRuntimeExceptionMapper.toResponse(RestRuntimeExceptionMapper.java:16)| C0B94DDE4A8444C9BDBA9B6CA94E52666 | 2019 07 23 08:59:16.900 | +0800 | Debug | Error | << | | | TraceLog | 8108 | 71 | http-nio-8080-exec-2 | ||||||||||||||||||||| com.sap.bip.rs.cxf.providers.exceptions.RestRuntimeExceptionMapper ||发生了java.lang.Exception; com.sap.bip.rs.exceptions.InvalidEntSessionException此请求未执行原始异常消息VSJ身份验证:发生java.lang.Exception; com.sap.bip.rs.session.SessionFactory.getSession(SessionFactory.java)上的com.sap.bip.rs.exceptions.InvalidEntSessionException.LogonFailed(InvalidEntSessionException.java:42)上未对此请求执行原始VSJ身份验证 :177),位于com.sap.bip.rs.authentication.LogonResource.doADSSOLogon(LogonResource.java:364),位于sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method),位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) )的org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker。)的java.lang.reflect.Method.invoke(Method.java:498)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java:188)位于org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:204)at org.apache.cxf org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.j)上的.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:270) ava:101)位于org.apache.cxf.interceptor.ServiceInvokerInterceptor $ 1.run(ServiceInvokerInterceptor.java:58)位于org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)位于org.apache.cxf。 org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)的phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)在org.apache.cxf.transport.http.Abstract.HTTPDestination.invoke(AbstractHTTPDestination。 249)在org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:223)在org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:223)在org.apache.cxf org.apache.cxf.transport.servlet.CXFNonSpringServlet上com.sap.bip.rs.server.servlet.BIPServletController.invoke(BIPServletController.java:103)上的.transport.servlet.ServletController.invoke(ServletController.java:154) .invoke(CXFNonSpringServlet.java:171)位于org.apache.cxf.transport.servlet.Abstra org处org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:214)处的ctHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)org处的javax.servlet.http.HttpServlet.service(HttpServlet.java:635) org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)上的.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)处的.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)在javax.servlet.http.HttpServlet.service(HttpServlet) .java:742),位于org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:154),位于org.apache.catalina.core的javax.servlet.http.HttpServlet.service(HttpServlet.java:742)。 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:16处的ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 6)位于org.apache.catalina.core处的org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)处,位于org.apache.catalina.core处的ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:330)的org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor)的.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) .java:118)位于org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342) org.springframework.security.web上的org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)。 会议。 org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)上的SessionManagementFilter.doFilter(SessionManagementFilter.java:103)在org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java: 113)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)在org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)在org.springframework.security org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)在org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:186)在org.springf(FilterChainProxy.java:342) org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)位于org.springframework.security.web.context.SecurityContextPersistenceFilter。 org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)的org.springframework.security.saml.metadata.MetadataGeneratorFilter.doFilter(MetadataGeneratorFilter.java:87)的doFilter(SecurityContextPersistenceFilter.java:87) 在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:342)在org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)在org.springframework.security.web.FilterChainProxy org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)的org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegat的.doFilter(FilterChainProxy.java:160) com.businessobjects.saml.CustomSAMLDelegatingFilterProxy.doFilter(CustomSAMLDelegatingFilterProxy.java:60)处的ingFilterProxy.java:259)org.apache.catalina.core处的org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)处的org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)处的.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)在org.apache.catalina.valves.ErrorReportValve.invoke( org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)处的ErrorReportValve.java:81)org.apache.catalina处的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)处的 .connector.CoyoteAdapter.service(CoyoteAdapter.j ava:342)在org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)在org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)在org.apache.coyote.AbstractProtocol $ ConnectionHandler org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1471)的.process(AbstractProtocol.java:800)在org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java) :49),位于org.apache.tomcat.util.threads的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)。 java.lang.Thread.run(Thread.java:836)上的TaskThread $ WrappingRunnable.run(TaskThread.java:61)原因:com.crystaldecisions.sdk.exception.SDKException $ ExceptionWrapper:发生了java.lang.Exception; 原始异常消息未对此请求执行VSJ身份验证原因:java.lang.Exception:未对此请求详细信息进行VSJ身份验证:发生了java.lang.Exception; 原始异常消息未对此请求执行VSJ身份验证未在com.businessobjects.sdk.credential上的com.businessobjects.sdk.credential.internal.VintelaCredMgr。(VintelaCredMgr.java:53)上对此请求未执行VSJ身份验证 .VintelaCredMgrFactory.makeVintelaCredMgr(VintelaCredMgrFactory.java:24)at com.sap.bip.rs.session.SessionFactory.getSession(SessionFactory.java:153)... 80多个原因:java.lang.Exception:VSJ身份验证不是 为该请求执行的操作... 83
一周热门 更多>