Hello, I need a little help on making requests from a desktop client to a 
RESTEasy service. The service works great with a web form, but this is not the 
intended client, I need to implement client in a desktop application. I've 
followed examples on the web, but I still cannot get my client to work:

I am using RESTEasy version 2.3.5.Final
I can use the service from the a form, but not from a client.

Relevant code:

My form POJO:

    public class FileUploadForm {


      @FormParam("file")
      @PartType(MediaType.APPLICATION_OCTET_STREAM)
      private byte[] data;

      @FormParam("user")
      @PartType(MediaType.TEXT_PLAIN)
      private String user;

      @FormParam("password")
      @PartType(MediaType.TEXT_PLAIN)
      private String password;

      @FormParam("filename")
      @PartType(MediaType.TEXT_PLAIN)
      private String filename;

      public FileUploadForm() {}

      public byte[] getData() {
       return data;
      }

      public void setData(final byte[] data) {
          this.data = data;
      }

      public String getUser() {
        return user;
      }

      public void setUser(String user) {
        this.user = user;
      }

      public String getPassword() {
        return password;
      }

      public void setPassword(String password) {
        this.password = password;
      }

       public String getFilename() {
        return filename;
      }

      public void setFilename(String filename) {
        this.filename = filename;
      }

    }

My service side method definition:

    @POST
    @Path("/upload")
    @Consumes("multipart/form-data")
    @Produces(MediaType.TEXT_PLAIN)
    public Response add(@MultipartForm FileUploadForm form);

My client side interface:

    public interface MultipartClient
    {
      @PUT
      @Path("/upload")
      @Consumes("multipart/form-data")
      @Produces(MediaType.TEXT_PLAIN)
      public Response add(@MultipartForm FileUploadForm form);
    }

My test code:

    MultipartClient client = ProxyFactory.create(MultipartClient.class, BASEURL 
+ URL_ROOT);
    FileUploadForm upload = new FileUploadForm();
    upload.setUser("bob");
    upload.setPassword("xyzzxy");
    upload.setFilename("file.zip");
    String fileToUpload = "file.zip"
    FileInputStream fis = new FileInputStream(fileToUpload);
    byte[] fileData = IOUtils.toByteArray(fis);
    upload.setData(fileData);
    Response response = client.add(upload);
    System.out.println("Response status: "  + response.getStatus());
    System.out.println("Response message: "  + response.getEntity());
    assertTrue(HttpResponseCodes.SC_OK == response.getStatus());


I get a response code 405 from the server. I am at my wits' end.





--
Please consider the environment before printing this email.
NIWA is the trading name of the National Institute of Water & Atmospheric 
Research Ltd.
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122412
_______________________________________________
Resteasy-users mailing list
Resteasy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resteasy-users

Reply via email to