Jersey JAX-RS:[[FATAL]升级到Weblogic 12c后,找不到public类型参数的注入源
我最近将我们的应用程序升级到Weblogic 12c,现在JAX-RS服务出现问题。该服务如下所示:Jersey JAX-RS:[[FATAL]升级到Weblogic 12c后,找不到public类型参数的注入源,jersey,jax-rs,Jersey,Jax Rs,我最近将我们的应用程序升级到Weblogic 12c,现在JAX-RS服务出现问题。该服务如下所示: public DocumentMetadataResponseBean postDocument(@Context
public DocumentMetadataResponseBean postDocument(@Context final HttpServletRequest request,
@FormDataParam("doc") final InputStream inputStream,
@FormDataParam("doc") final FormDataBodyPart formDataBodyPart,
@PathParam("employeeOid") @ApiParam("The person uploading the document") final Long employeeOid,
@QueryParam("person") @ApiParam("The person which the document is associated with") final Long personOid,
@QueryParam("name") @ApiParam("The name of the document") final String documentName,
@QueryParam("personDocId") @ApiParam(value = "The documentOid for the document to be used. Only if existing document is used for a request",required=false)final Long personDocumentOid,
@QueryParam("category") @ApiParam("The category associated with the document (i.e. Birth Certificate)") final String documentCategory,
@QueryParam("documentRequestId") @ApiParam(value = "the documentRequestOid associated with the document request",required=false) final Long documentRequestOid,
@QueryParam("desc") @ApiParam(value = "A brief description of the document", required=false) final String description,
@QueryParam("version") @ApiParam("The version of the service") final Integer version){
启动应用程序时出现的错误是:[[FATAL]找不到public com.test.DocumentMetadataResponseBean com.test.DocumentJaxRsService.postDocument类型参数的注入源(java.io.InputStream,org.glassfish.jersey.media.multipart.FormDataBodyPart,java.lang.Long,java.lang.Long,java.lang.String,java.lang.Long,java.lang.String,java.lang.String,java.lang.Integer)在索引0处;source='ResourceMethod{httpMethod=POST,consumedTypes=[multipart/form data],producedTypes=[application/json,application/xml],suspended=false,suspendTimeout=0,suspendTimeoutUnit=毫秒,invocable=invocable{handler=ClassBasedMethodHandler{handlerClass=class com.test.DocumentJaxRsService,handlerConstructors=[org.glassfish.jersey.server.model。HandlerConstructor@2e52db74]},definitionMethod=public com.test.DocumentMetadataResponseBean com.test.DocumentJaxRsService.postDocument(java.io.InputStream,org.glassfish.jersey.media.multipart.FormDataCodePart,java.lang.Long,java.lang.Long,java.lang.String,java.lang.Long,java.lang.Integer),参数=[参数][type=class java.io.InputStream,source=doc,defaultValue=null],参数[type=class org.glassfish.jersey.media.multipart.FormDataBodyPart,source=doc,defaultValue=null],参数[type=class java.lang.Long,source=employeeOid,defaultValue=null],参数[type=class java.lang.Long,source=person,defaultValue=null][type=class java.lang.String,source=name,defaultValue=null],参数[type=class java.lang.Long,source=personDocId,defaultValue=null],参数[type=class java.lang.String,source=category,defaultValue=null],参数[type=class java.lang.Long,source=documentRequestId,defaultValue=null],参数[type=class java.lang.String,source=desc,defaultValue=null],参数[type=class java.lang.Integer,source=version,defaultValue=null]],responseType=class com.test.DocumentMetadataResponseBean},nameBindings=[]}]
我使用的是javax.ws.rs-api 2.0.1和Jersey 2.25。我确实在Jersey servlet中将MultiPartFeature注册为init param。如果我切换回weblogic 11g,一切都会正常工作,所以我确信这是一个类路径问题,但我已经尝试了所有可能的版本组合,我可以为这些库想到,但没有看到任何结果ms开始工作。错误与您显示的资源方法不匹配。错误显示一个没有HttpServletRequest的方法,而您帖子中的方法有该请求。很抱歉,我在测试中删除了该方法的第一个参数,即HttpServletRequest,但无论如何,错误都保持不变关于InputStream参数的问题。如果删除InputStream参数会发生什么情况?可以从FormDateBodyPart获得