Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我在TOMCAT 8.5上的Java JAX-RS webapp报告了一个引用GLASSFISH包名的多异常(JAXBContext/WADL)?_Java_Tomcat_Glassfish_Jax Rs_Tomcat8 - Fatal编程技术网

为什么我在TOMCAT 8.5上的Java JAX-RS webapp报告了一个引用GLASSFISH包名的多异常(JAXBContext/WADL)?

为什么我在TOMCAT 8.5上的Java JAX-RS webapp报告了一个引用GLASSFISH包名的多异常(JAXBContext/WADL)?,java,tomcat,glassfish,jax-rs,tomcat8,Java,Tomcat,Glassfish,Jax Rs,Tomcat8,我们的服务器应用程序已经运行了大约六年,在过去六个月左右的时间里,我们一直看到周期性错误(每隔一天出现几次) 它使用Elastic Beanstalk和Tomcat 8.5以及64位Amazon Linux 2上运行的Corretto 11托管在AWS中 我将JAX-RS与Jersey一起使用,托管在Tomcat上 我不清楚是什么导致了JAXBContext/MultiException WADL问题 Initial意味着有人正在执行“OPTIONS”请求,JAX-RS无法序列化异常(因为找不到

我们的服务器应用程序已经运行了大约六年,在过去六个月左右的时间里,我们一直看到周期性错误(每隔一天出现几次)

它使用Elastic Beanstalk和Tomcat 8.5以及64位Amazon Linux 2上运行的Corretto 11托管在AWS中

我将JAX-RS与Jersey一起使用,托管在Tomcat上

我不清楚是什么导致了JAXBContext/MultiException WADL问题

Initial意味着有人正在执行“OPTIONS”请求,JAX-RS无法序列化异常(因为找不到依赖项)

简单地添加依赖项是否安全?选项是否存在漏洞?或者我应该拒绝任何“选项”请求,因为我没有预料到它们

09/04/21 04:44:45 AuthenticationFilter Problem during AuthenticationFile:doFilter for URI:/rest/myEndpoint Exception: A MultiException has 4 exceptions. They are: 
1. javax.ws.rs.ProcessingException: Error creating a JAXBContext for wadl processing. 
2. java.lang.IllegalStateException: Unable to perform operation: create on org.glassfish.jersey.server.wadl.internal.WadlApplicationContextImpl 
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of 
org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler errors were found 
4. java.lang.IllegalStateException: Unable to perform operation: resolve on 
org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler ... 
com.devology.servlet.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:115) 
com.devology.servlet.filters.TimingFilter.doFilter(TimingFilter.java:84) 
com.devology.servlet.filters.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:55) 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
java.base/java.lang.Thread.run(Thread.java:829) Causes leading up to this are logged as separate entries

09/04/21 04:44:45 AuthenticationFilter Problem during AuthenticationFile:doFilter for URI:/rest/myEndpoint cause #1 Exception: A MultiException has 4 exceptions. They are: 
1. javax.ws.rs.ProcessingException: Error creating a JAXBContext for wadl processing. 
2. java.lang.IllegalStateException: Unable to perform operation: create on org.glassfish.jersey.server.wadl.internal.WadlApplicationContextImpl 
3. java.lang.IllegalArgumentException: While attempting to resolve the dependencies of 
org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler errors were found 
4. java.lang.IllegalStateException: Unable to perform operation: resolve on 
org.glassfish.jersey.server.wadl.processor.WadlModelProcessor$OptionsHandler ... 
org.jvnet.hk2.internal.Collector.throwIfErrors(Collector.java:89) 
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:250) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:777) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:740) 
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:710) 
com.devology.servlet.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:115) 
com.devology.servlet.filters.TimingFilter.doFilter(TimingFilter.java:84) 
com.devology.servlet.filters.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:55) 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
java.base/java.lang.Thread.run(Thread.java:829) 

09/04/21 04:44:45 AuthenticationFilter Problem during AuthenticationFile:doFilter for URI:/rest/myEndpoint cause #2 Exception: Error creating a JAXBContext for wadl processing.... 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 
org.jvnet.hk2.internal.ClazzCreator.createMe(ClazzCreator.java:272) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:366) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:83) 
org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:71) 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:122) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116) 
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90) 
org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212) 
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:777) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:740) 
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:710) 
com.devology.servlet.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:115) 
com.devology.servlet.filters.TimingFilter.doFilter(TimingFilter.java:84) 
com.devology.servlet.filters.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:55) 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
java.base/java.lang.Thread.run(Thread.java:829) 

09/04/21 04:44:45 AuthenticationFilter Problem during AuthenticationFile:doFilter for URI:/rest/myEndpoint cause #3 Exception: Provider 
com.sun.xml.internal.bind.v2.ContextFactory not found... 
javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:148) 
javax.xml.bind.ContextFinder.find(ContextFinder.java:361) 
javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446) 
javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409) 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 
org.jvnet.hk2.internal.ClazzCreator.createMe(ClazzCreator.java:272) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:366) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:83) 
org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:71) 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:122) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116) 
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90) 
org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212) 
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:777) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:740) 
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:710) 
com.devology.servlet.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:115) 
com.devology.servlet.filters.TimingFilter.doFilter(TimingFilter.java:84) 
com.devology.servlet.filters.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:55) 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
java.base/java.lang.Thread.run(Thread.java:829) 

09/04/21 04:44:45 AuthenticationFilter Problem during AuthenticationFile:doFilter for URI:/rest/myEndpoint cause #4 Exception: 
com.sun.xml.internal.bind.v2.ContextFactory... 
javax.xml.bind.ContextFinder.safeLoadClass(ContextFinder.java:573) 
javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:145) 
javax.xml.bind.ContextFinder.find(ContextFinder.java:361) 
javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:446) 
javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:409) 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 
org.jvnet.hk2.internal.ClazzCreator.createMe(ClazzCreator.java:272) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:366) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:83) 
org.jvnet.hk2.internal.SingletonContext$1.compute(SingletonContext.java:71) 
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
org.jvnet.hk2.internal.SingletonContext.findOrCreate(SingletonContext.java:122) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116) 
org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90) 
org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:212) 
org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:235) 
org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:358) 
org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487) 
org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:777) 
org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:740) 
org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:710) 
com.devology.servlet.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:115) 
com.devology.servlet.filters.TimingFilter.doFilter(TimingFilter.java:84) 
com.devology.servlet.filters.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:55) 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
java.base/java.lang.Thread.run(Thread.java:829) 

“托管在Tomcat上的相当标准的JAX-RS堆栈”-从技术上讲,没有标准的JAX-RS堆栈。只有JAX-RS规范的实现。您似乎正在使用Jersey作为JAX-RS实现。泽西岛的包装上有Glassfish的名字,因为这是创建该项目的原始组织。Tomcat没有JAX-RS实现,因此需要添加实现。您需要确保所有的Jersey依赖项都兼容。为了获得更好的帮助,您应该发布所有依赖项,因为可能存在一些冲突。就WADL而言,默认情况下Jersey在所有选项端点提供WADL。此外,如果您能够更好地格式化堆栈跟踪,它将帮助其他人提高可读性。感谢@PaulSamsotha这是有用的反馈,stacktrace布局修复并放弃了我关于它是标准Jax RS堆栈的假设。从您的观点来看,是否值得我添加依赖项以便人们可以执行选项请求,或拦截它-我已经看到一些关于基于选项的漏洞的报告,尽管不一定与JAX-RS相关。关于缺少
com.sun.xml.
internal
.bind.v2.ContextFactory
的消息意味着您的应用程序中缺少。这是默认实现的类名,已在Java9中删除(但错误消息没有更改…)。