Docusign REST API无法启动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docusign REST API无法启动相关的知识,希望对你有一定的参考价值。
最近将基于Docusign Java sdk的apiclient解决方案移至PROD,但在此之后所有现有的其余api调用,包括docusign api rest调用失败,出现以下错误
06-Sep-2018 12:46:50.645 SEVERE [ajp-nio-8269-exec-8] org.apache.catalina.core.StandardWrapperValve.invoke Allocate exception for servlet [Jersey REST Service]
java.lang.NoSuchMethodError: javax.ws.rs.core.Application.getProperties()Ljava/util/Map;
at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:309)
at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:338)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:171)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:363)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:773)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:133)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:486)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
经过进一步调查后,我发现我们的应用程序使用JAX-RS 2 jars,如jersey-container-servlet-core-2.17.jar,而Docusign Java sdk的依赖是com.sun.jersey.jersey-core-1.4.0.jar,这是JAX-RS 1版。通过删除com.sun.jersey.jersey-core-1.4.0.jar,现有的rest api调用可以正常工作,但Docusign rest api失败并出现以下错误:
Caused by: java.lang.ClassNotFoundException: com.sun.jersey.core.util.FeaturesAndProperties
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Please suggest how to proceed from here
请建议一种方法,使其余的API呼叫工作不会破损。
泽西1和泽西2完全不兼容,因此你不能在同一个应用程序中拥有与两者相关的罐子。
所以,如果可能的话,你应该考虑在你的应用程序中使用jersey 1.0 (com.sun.jersey)
,因为你对Docusign
没有任何控制权。
以上是关于Docusign REST API无法启动的主要内容,如果未能解决你的问题,请参考以下文章
通过 DocuSign Rest API 创建 DocuSign 信封时出错(包含多个文档和多个收件人)
DocuSign Rest API - 需要某些 PDF 字段
如何在 Postman 中过滤来自 Docusign Rest API 的报告结果
Docusign REST API:使用 Microsoft Flow 的 JWT Grant 实现 OAuth 身份验证