我正在尝试上传文件,但使用@FormDataParam
不允许应用程序部署。感兴趣的代码如下:
@POST
@Path("sync")
public String callServletSyncPost (
@PathParam("tapschema") String tapschema,
@FormParam("REQUEST") String request,
@FormParam("LANG") String lang,
@FormParam("QUERY") String query,
@FormParam("UPLOAD") String upload,
//@FormDataParam("file") File fileUpload
@FormDataParam("file") InputStream fileUpload,
@FormDataParam("file") FormDataContentDisposition fileDetail
)
throws Exception {
我已在项目中添加了以下库:
ASM-3.1.jar
杰克逊核-ASL-1.1.1.jar
Jersey的客户端 - 1.2.jar
球衣核-1.2.jar
Jersey的JSON-1.2.jar
球衣 - 服务器 - 1.2.jar
抛放-1.1.jar
JSR311-API-1.1.1.jar
mimepull.jar
球衣-multipart.jar
我还尝试添加jersey-bundle-1.2.jar
库,但不部署应用程序。
在Glassfish 3.1日志页面中,有以下日志:
The following errors and warnings have been detected with resource and/or provider classes: SEVERE: Missing dependency for method public java.lang.String it.inaf.oats.ia2.tap.implementation.TapRestImpl.callServletSyncPost(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.io.File) throws java.lang.Exception at parameter at index 5 SEVERE: Missing dependency for method public java.lang.String it.inaf.oats.ia2.tap.implementation.TapRestImpl.callServletSyncPost(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.io.File) throws java.lang.Exception at parameter at index 5 SEVERE: Method, public java.lang.String it.inaf.oats.ia2.tap.implementation.TapRestImpl.callServletSyncPost(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.io.File) throws java.lang.Exception, annotated with POST of resource, class it.inaf.oats.ia2.tap.implementation.TapRestImpl, is not recognized as valid resource method.
有人能告诉我为什么应用程序没有部署以及如何解决这个问题? 提前致谢
答案 0 :(得分:0)
如果你的func返回smth(f.e.json)你应该添加
@Produces(MediaType.APPLICATION_JSON)
和params
@Consumes(MediaType.MULTIPART_FORM_DATA)