Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Web services 404调用webservice中的方法时出错_Web Services_Spring Mvc_Jax Rs_Multipartform Data_Media Type - Fatal编程技术网

Web services 404调用webservice中的方法时出错

Web services 404调用webservice中的方法时出错,web-services,spring-mvc,jax-rs,multipartform-data,media-type,Web Services,Spring Mvc,Jax Rs,Multipartform Data,Media Type,我对webservice还很陌生。我正在使用SpringMVC和webservice将文件上载到服务器。在spring控制器中,我尝试在多值映射中添加参数,如下所示 MultiValueMap<String, Object> formData = new LinkedMultiValueMap<String, Object>(); formData.add("caption", "Test Caption"); formData.add("file",new FileSy

我对webservice还很陌生。我正在使用SpringMVC和webservice将文件上载到服务器。在spring控制器中,我尝试在多值映射中添加参数,如下所示

MultiValueMap<String, Object> formData = new LinkedMultiValueMap<String, Object>();
formData.add("caption", "Test Caption");
formData.add("file",new FileSystemResource("/home/mytxt");
formData.add("jsonData",imageJson);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
final HttpEntity<MultiValueMap<String,Object>> requestEntity = new HttpEntity<>(
                    formData, requestHeaders);
到目前为止,一切都很好,但当我使用下面的方法时,不会调用该方法

@POST
@Path("/addImage")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response copyFromLocal(
        @FormDataParam("file") InputStream uploadedInputStream,
        @FormDataParam("file") FormDataContentDisposition content)
        throws IOException 
{   
}
客户端代码为

MultiValueMap<String, Object> formData = new LinkedMultiValueMap<String, Object>();
formData.add("caption", "Test Caption");
formData.add("file",new FileSystemResource("/home/txt"));
formData.add("jsonData",imageJson);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
final HttpEntity<MultiValueMap<String,Object>> requestEntity = new HttpEntity<>(
                    formData, requestHeaders);
responseFromService = this.baseAdapter.makeRequest(HttpMethod.POST,
                    requestEntity, relativeURL, String.class,true);
MultiValueMap formData=新链接的MultiValueMap();
添加(“标题”、“测试标题”);
添加(“文件”,新文件系统资源(“/home/txt”);
add(“jsonData”,imageJson);
HttpHeaders requestHeaders=新的HttpHeaders();
requestHeaders.setContentType(MediaType.MULTIPART\u FORM\u数据);
最终HttpEntity requestEntity=新HttpEntity(
formData、requestHeaders);
responseFromService=this.baseAdapter.makeRequest(HttpMethod.POST,
requestEntity,relativeURL,String.class,true);
BaseAdapter类使用SpringRESTTemplate发布url


我希望获得map-in控制器中存在的所有参数,以便将其传递给服务端的方法。有人能帮我解决这个问题吗?非常感谢您的帮助。

我知道您指定了两个
@FormDataParam(“文件”)
注释,在两个不同的参数上,我认为它应该只应用于一个

@POST
    @Path("/addImage")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response copyFromLocal(
            InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition content)
            throws IOException {

    }

尝试了您告诉的错误。获取错误“POST request for”导致404(未找到);调用错误处理程序“org.springframework.web.client.HttpClientErrorException:404未找到能否发布客户端代码以访问此web服务?感谢您的回复。已编辑我的问题。现在客户端代码可用。
@POST
    @Path("/addImage")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response copyFromLocal(
            InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition content)
            throws IOException {

    }