我将firebase与springmvc结合使用,并使用weblogic服务器。
在weblogic服务器上部署时,我的firebase不工作。
如果我在服务器外运行,它和我的firebase fcm都会工作。当我在weblogic服务器中点击我的服务器时,我得到了这个错误
Caused by: java.io.IOException: Error getting access token for service account: Hostname verification failed: HostnameVerifier=weblogic.security.utils.SSLWLSHostnameVerifier, hostname=oauth2.googleapis.com
2021-01-14 17:33:04,348[[active]executethread:'0'for queue:'weblogic.kernel.default(self-tuning)']error c.e.c.m.c.notificationcontrollerws-未能发送通知com.google.firebase.messagingexception:在调用fcm后端服务时出错com.google.firebase.messagingclientimpl.sendall(firebasemsagingclientimpl。java:141)在com.google.firebase.messaging.firebasemsaging$2.execute(firebasemsaging。java:293)在com.google.firebase.messaging.firebasemsaging$2.execute(firebasemsaging。java:290)在com.google.firebase.internal.callableoperation.call(callableoperation。java:36)在com.google.firebase.messaging.firebasemsaging.sendall(firebasemsaging。java:183)在com.google.firebase.messaging.firebasemsaging.sendmulticast(firebasemsaging。java:252)在com.google.firebase.messaging.firebasemsaging.sendmulticast(firebasemsaging。java:227)在com.etisalat.cim.mobilewalletapter.controller.notificationcontrollerws.pushnotificationtomobileapp(notificationcontrollerws。java:97)在com.etisalat.cim.mobilewalletadapter.controller.notificationcontrollerws.pushnotifications(notificationcontrollerws)。java:78)位于com.etisalat.cim.mobilewalletadapter.controller.notificationcontrollerws$$fastclassbyspringcglib$$898ae6ca.invoke(),位于org.springframework.cglib.proxy.methodproxy.invoke(methodproxy)。java:204)在org.springframework.aop.framework.cglibaopproxy$dynamicadvisedinterceptor.intercept(cglibaopproxy。java:669)位于com.etisalat.cim.mobilewalletadapter.controller.notificationcontrollerws$$enhancerbyspringcglib$$56284e04.pushnotifications(),位于sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl。java:62)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:498)在org.springframework.web.method.support.invocablehandlermethod.doinvoke(invocablehandlermethod。java:205)在org.springframework.web.method.support.invocablehandlermethod.invokeforrequest(invocablehandlermethod。java:133)位于org.springframework.web.servlet.mvc.method.annotation.servletinvaccablehandlermethod.invokeandhandle(servletinvaccablehandlermethod)。java:97)在org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.invokehandlermethod(requestmappinghandleradapter。java:827)位于org.springframework.web.servlet.mvc.method.annotation.requestmappinghandleradapter.handleinternal(requestmappinghandleradapter。java:738)在org.springframework.web.servlet.mvc.method.abstracthandlermethodadapter.handle(abstracthandlermethodadapter)。java:85)在org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet。java:967)位于org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet。java:901)在org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet。java:970)在org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet。java:872)在javax.servlet.http.httpservlet.service(httpservlet。java:751)位于org.springframework.web.servlet.frameworkservlet.service(frameworkservlet。java:846)在javax.servlet.http.httpservlet.service(httpservlet)。java:844)在weblogic.servlet.internal.stubsecurityhelper$servletserviceaction.run(stubsecurityhelper。java:280)在weblogic.servlet.internal.stubsecurityhelper$servletserviceaction.run(stubsecurityhelper。java:254)在weblogic.servlet.internal.stubsecurityhelper.invokeservlet(stubsecurityhelper。java:136)在weblogic.servlet.internal.servletstubimpl.execute(servletstubimpl。java:346)在weblogic.servlet.internal.tailfilter.dofilter(tailfilter。java:25)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.boot.web.support.errorpagefilter.dofilter(errorpagefilter。java:115)在org.springframework.boot.web.support.errorpagefilter.access$000(errorpagefilter。java:59)在org.springframework.boot.web.support.errorpagefilter$1.dofilterinternal(errorpagefilter。java:90)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在org.springframework.boot.web.support.errorpagefilter.dofilter(errorpagefilter。java:108)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.web.filter.characterencodingfilter.dofilterinternal(characterencodingfilter。java:197)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.session.web.http.sessionrepositoryfilter.dofilterinternal(sessionrepositoryfilter。java:167)在org.springframework.session.web.http.onceperrequestfilter.dofilter(onceperrequestfilter。java:80)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.web.filter.hiddenhttpmethodfilter.dofilterinternal(hiddenhttpmethodfilter。java:81)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.web.filter.httpputformcontentfilter.dofilterinternal(httpputformcontentfilter。java:108)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.web.filter.requestcontextfilter.dofilterinternal(requestcontextfilter。java:99)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:317)在org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor。java:127)在org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor。java:91) 在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter。java:114)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.session.sessionmanagementfilter.dofilter(sessionmanagementfilter。java:137)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter。java:111)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)位于org.springframework.security.web.servletapi.securitycontextholderawarerequestfilter.dofilter(securitycontextholderawarerequestfilter)。java:170)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.savedrequest.requestcacheawarefilter.dofilter(requestcacheawarefilter。java:63)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter。java:116)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.header.headerwriterfilter.dofilterinternal(headerwriterfilter。java:64)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)位于org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter)。java:105)在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)位于org.springframework.security.web.context.request.async.webasyncmanagerintegrationfilter.dofilterinternal(webasyncmanagerintegrationfilter)。java:56)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107) 在org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy。java:331)在org.springframework.security.web.filterchainproxy.dofilternternal(filterchainproxy。java:214)在org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy。java:177)在org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy。java:347)在org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy。java:263)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在org.springframework.web.multipart.support.multipartfilter.dofilterinternal(multipartfilter。java:122)在org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter。java:107)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在weblogic.servlet.internal.requesteventsfilter.dofilter(requesteventsfilter。java:27)在weblogic.servlet.internal.filterchainimpl.dofilter(filterchainimpl。java:79)在weblogic.servlet.internal.webappservletcontext$servletinLocationAction.wraprun(webappservletcontext。java:3436)在weblogic.servlet.internal.webappservletcontext$servletinLocationAction.run(webappservletcontext。java:3402)在weblogic.security.acl.internal.authenticatedsubject.doas(authenticatedsubject。java:321)在weblogic.security.service.securitymanager.runas(securitymanager。java:120)在weblogic.servlet.provider.wlssobjecthandle.run(wlssobjecthandle。java:57)位于weblogic.servlet.internal.webappservletcontext.dosecuredexecute(webappservletcontent
暂无答案!
目前还没有任何答案,快来回答吧!