Petals SE JSR181

JAXWS-style attachment handling does not work

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Won't Fix
  • Affects Version/s: 1.1.4
  • Fix Version/s: 1.3.0
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    When trying to pass a DataHandler as an argument to a WebMethod (see below), the DataHandler does not point to valid data (if redirected to a file, the file content is irrelevant).

    Workaround: use Petals attachments (with CDK APIs). The same code works fine, then.

    //JSR181 main class
    //...
    @WebMethod( operationName="display" )
    public void display(@WebParam( name="image" ) ImageData image) { ... }
    
    // ImageData.java
    //...
    @XmlType
    public class ImageData {
      private DataHandler fileContent;
      @XmlMimeType("application/octet-stream")
      public DataHandler getFileContent() {
          return this.fileContent;
      }
    
      public void setFileContent(DataHandler fileContent) {
          this.fileContent = fileContent;
      }
    }
    Show
    When trying to pass a DataHandler as an argument to a WebMethod (see below), the DataHandler does not point to valid data (if redirected to a file, the file content is irrelevant). Workaround: use Petals attachments (with CDK APIs). The same code works fine, then.
    //JSR181 main class
    //...
    @WebMethod( operationName="display" )
    public void display(@WebParam( name="image" ) ImageData image) { ... }
    
    // ImageData.java
    //...
    @XmlType
    public class ImageData {
      private DataHandler fileContent;
      @XmlMimeType("application/octet-stream")
      public DataHandler getFileContent() {
          return this.fileContent;
      }
    
      public void setFileContent(DataHandler fileContent) {
          this.fileContent = fileContent;
      }
    }
  • Environment:
    Petals 4.

Activity

Hide
Vincent Zurczak added a comment - Tue, 10 Apr 2012 - 18:37:36 +0200 - edited

Actually, this use case works fine.
Checked with SoapUI (the cid property is in fact defined by the part column and not the contentID one). You can also specify SoapUI to use MTOM in the request properties.

Some log entries have been added in the code and will be committed.
In addition, a new example will be added to the JSR-181 use cases.

Show
Vincent Zurczak added a comment - Tue, 10 Apr 2012 - 18:37:36 +0200 - edited Actually, this use case works fine. Checked with SoapUI (the cid property is in fact defined by the part column and not the contentID one). You can also specify SoapUI to use MTOM in the request properties. Some log entries have been added in the code and will be committed. In addition, a new example will be added to the JSR-181 use cases.

People

Dates

  • Created:
    Thu, 8 Mar 2012 - 16:57:04 +0100
    Updated:
    Wed, 11 Apr 2012 - 10:48:46 +0200
    Resolved:
    Tue, 10 Apr 2012 - 18:37:36 +0200