Web services 404调用webservice中的方法时出错
我对webservice还很陌生。我正在使用SpringMVC和webservice将文件上载到服务器。在spring控制器中,我尝试在多值映射中添加参数,如下所示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
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 {
}