You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrp4j-user@portals.apache.org by "adrien.geymond@aliceadsl.fr" <ad...@aliceadsl.fr> on 2007/03/07 15:26:02 UTC

Upload file over wsrp4j

Hello,

I am trying to upload a binary files in a portlet using WSRP4J.

I've read that it is possible to get the content of the
uploaded file in the UploadContext.

I have 2 questions :
1/ i am getting the content of the upload context using the
following line in the method
invokePerformBlockingInteraction of the PortletInvokerImpl class

 UploadContext[] uploadContext =
request.getInteractionParams().getUploadContexts();
 
 Here is a extract of the soap message for a word file :
             <interactionParams>
              
<portletStateChange>readWrite</portletStateChange>
              
<interactionState>rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABdAAGX3NwYWdldXIAE1tMamF2YS5sYW5nLlN0cmluZzut0lbn6R17RwIAAHhwAAAAAXQADy90b2tlblVwbG9hZC5kb3g*</interactionState>
               <uploadContexts>
                  <mimeType>multipart/form-data;
boundary=---------------------------6641348725064</mimeType>
                 
<uploadData>7KXBACNgCQQAAPgSvwAAAAAAADAAAAAAAAYAAFojAAAOAGJqYmpcLlwuAAAAAAAAAAAAAAAAAAAAAAAADAQWAC5GAAA+RAEAPkQBAFobAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//8PAAAAAAAAAAAA//8PAAAAAAAAAAAA//8PAAAAAAAAAAAAAAAAAAAAAACkAAAAAAAQCAAAAAAAABAIAAAQCAAAAAAAABAIAAAAAAAAEAgAAAAAAAAQCAAAAAAAABAIAAAUAAAAAAAAAAAAAAAkCAAAAAAAAAwnAAAAAAAADCcAAAAAAAAMJwAAAAAAAAwnAABUAAAAYCcAADQAAAAkCAAAAAAAACZUAAAyAQAAoCcAAEgBAADoKAAAAAAAAOgoAAAAAAAA6CgAAAAAAADoKAAAAAAAAD8rAADKAAAACSwAADwAAABFLAAAIAAAAKVTAAACAAAAp1MAAAAAAACnUwAAAAAAAKdTAAAAAAAAp1MAAAAAAACnUwAAAAAAAKdTAAAkAAAAWFUAAGgCAADAVwAAVAAAAMtTAAAVAAAAAAAAAAAAAAAAAAAAAAAAABAIAAAAAAAAZSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4SoAAF4AAAA/KwAAAAAAAGUsAAAAAAAAZSwAAAAAAADLUwAAAAAAAAAAAAAAAAAAEAgAAAAAAAAQCAAAAAAAAOgoAAAAAAAAAAAAAAAAAADoKAAA+QEAAOBTAAAWAAAA1TIAAAAAAADVMgAAAAAAANUyAAAAAAAAZSwAAOoEAAAQCAAAAAAAAOgoAAAAAAAAEAgAAAAAAADoKAAAAAAAAKVTAAAAAAAAAAAAAAAAAADVMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUsAAAAAAAApVMAAAAAAAAAAAAAAAAAANUyAAAAAAAA1TIAADYBAADBUAAA4AAAABAIAAAAAAAAEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANVSAAAAAAAA6CgAAAAAAACUJwAADAAAAKA7dhPDVMcBAAAAAAAAAAAMJwAAAAAAAE8xAACOAAAAoVEAABwAAAAAAAAAAAAAAIFTAAAkAAAA9lMAADAAAAAmVAAAAAAAAL1RAAAYAQAAFFgAAAAAAADdMQAA7gAAABRYAAA4AAAA1VIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1VIAADgAAAAUWAAAAAAAAAAAAAAAAAAAEAgAAAAAAAANUwAAdAAAAGUsAAAAAAAAZSwAAAAAAADVMgAAAAAAAGUsAAAAAAAAZSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGUsAAAAAAAAZSwAAAAAAABlLAAAAAAAAMtTAAAAAAAAy1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMsyAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlLAAAAAAAAGUsAAAAAAAAZSwAAAAAAAAmVAAAAAAAAGUsAAAAAAAAZSwAAAAAAABlLAAAAAAAAGUsAAAAAAAAAAAAAAAAAAAkCAAAAAAAACQIAAAAAAAAJAgAAEQQAABoGAAApA4AACQIAAAAAAAAJAgAAAAAAAAkCAAAAAAAAGgYAAAAAAAAJAgAAAAAAAAkCAAAAAAAACQIAAAAAAAAEAgAAAAAAAAQCAAAAAAAABAIAAAAAAAAEAgAAAAAAAAQCAAAAAAAABAIAAAAAAAA/////wAAAAACAAwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDQ0NDQ0NUG9ydGxldCBtZXNzYWdpbmcNDQ0NDQ0NQWRyaWVuIEdleW1vbmQNMDYvMDYvMjAwNw0NDQ0NDQ0NDQ0TIFRPQyBcbyAiMS0zIiBcaCBceiBcdSAUEyBIWVBFUkxJTksgXGwgIl9Ub2MxNTkzMDA3NDgiIAEUMQlPdmVydmlldzoJEyBQQUdFUkVGIF9Ub2MxNTkzMDA3NDggXGggARQyFRUNEyBIWVBFUkxJTksgXGwgIl9Ub2MxNTkzMDA3NDkiIAEUMglJbXBsZW1lbnRhdGlvbgkTIFBBR0VSRUYgX1RvYzE1OTMwMDc0OSBcaCABFDIVFQ0TIEhZUEVSTElOSyBcbCAiX1RvYzE1OTMwMDc1MCIgARQyLjEJUG9ydGxldCBsaWZlY3ljbGUJEyBQQUdFUkVGIF9Ub2MxNTkzMDA3NTAgXGggARQyFRUNEyBIWVBFUkxJTksgXGwgIl9Ub2MxNTkzMDA3NTEiIAEUMi4yCUhvdyB0byBzZW5kIGEgbWVzc2FnZQkTIFBBR0VSRUYgX1RvYzE1OTMwMDc1MSBcaCABFDMVFQ0TIEhZUEVSTElOSyBcbCAiX1RvYzE1OTMwMDc1MiIgARQyLjMJU2FtcGxlIGltcGxlbWVudGF0aW9uIG9mIE1ldGhvZCBtZXNzYWdlUmVjZWl2ZWQJEyBQQUdFUkVGIF9Ub2MxNTkzMDA3NTIgXGggARQzFRUNEyBIWVBFUkxJTksgXGwgIl9Ub2MxNTkzMDA3NTMiIAEUMwlVc2VmdWwgRG9jdW1lbnRhdGlvbgkTIFBBR0VSRUYgX1RvYzE1OTMwMDc1MyBcaCABFDMVFQ0TIEhZUEVSTElOSyBcbCAiX1RvYzE1OTMwMDc1NCIgARQ0CVByb3Bvc2FsIGZvciBjcHJ3dyBwcm9qZWN0CRMgUEFHRVJFRiBfVG9jMTU5MzAwNzU0IFxoIAEUMxUVDRUMDU92ZXJ2aWV3Og1UaGUgUG9ydGxldCBBUEkgc3VwcG9ydHMgbWVzc2FnaW5nIGJldHdlZW4gcG9ydGxldHMgb24gYSBwYWdlLg0NVGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFwcGx5IHRvIHBvcnRsZXRzIHRoYXQgc2VuZCBhbmQgcmVjZWl2ZSBtZXNzYWdlcy4NVGhlIHBvcnRsZXRzIG11c3QgYmUgb24gdGhlIHNhbWUgcGFnZS4gDVRoZSBwb3J0bGV0cyBtdXN0IGJlIHBhcnQgb2YgdGhlIHNhbWUgcG9ydGxldCBhcHBsaWNhdGlvbi4gVGhpcyBjb25kaXRpb24gYXBwbGllcyBvbmx5IHRvIHBvcnRsZXRzIGltcGxlbWVudGluZyB0aGUgUG9ydGxldE1lc3NhZ2UgaW50ZXJmYWNlLiBQb3J0bGV0cyB0aGF0IGV4dGVuZCBEZWZhdWx0UG9ydGxldE1lc3NhZ2UgZG8gbm90IGhhdmUgdG8gYmUgbWVtYmVycyBvZiB0aGUgc2FtZSBwb3J0bGV0IGFwcGxpY2F0aW9uLiANUG9ydGxldHMgdGhhdCBhcmUgZGVwbG95ZWQgYXMgV2ViIHNlcnZpY2VzIGNhbm5vdCBzZW5kIGFuZCByZWNlaXZlIG1lc3NhZ2VzLg0NUmVtYXJrczoNQSBtZXNzYWdlIGNvdWxkIGJlIHNlbnQgdG8gc2V2ZXJhbCBwb3J0bGV0cyBvbiB0aGUgcGFnZS4gSW4gdGhlIGV4YW1wbGUgYmVsb3cgdGhlIG1lc3NhZ2UgQUEgaXMgc2VudCB0byB0aGUgMiBvdGhlciBwb3J0bGV0cyBvbiB0aGUgc2FtZSBwYWdlLiANDQgBDUNsaWNrIG9uIHN1Ym1pdDoNCAgBDQ0NSW1wbGVtZW50YXRpb24NDVRoZSBtZXNzYWdlUmVjZWl2ZWQgbWV0aG9kIGlzIGFuIGFjdGlvbiBtZXRob2Qgd2hpY2ggaXMgY2FsbGVkIGlmIGEgcG9ydGxldCBhcyBzZW50IHNvbWUgbWVzc2FnZS4gSGVyZWFmdGVyIHRoZSBwb3J0bGV0IGxpZmVjeWNsZToNUG9ydGxldCBsaWZlY3ljbGUNVGhlIGZvbGxvd2luZyBsaXN0IGlzIHRoZSBvcmRlciBpbiB3aGljaCBwb3J0bGV0IGxpZmVjeWNsZSBtZXRob2RzIGFyZSBpbnZva2VkOiANUG9ydGxldEFkYXB0ZXIuaW5pdChQb3J0bGV0Q29uZmlnKSBpcyBpbnZva2VkLiBUaGlzIHByb3ZpZGVzIHRoZSBhcHBsaWNhdGlvbiBwb3J0bGV0IHdpdGggaXRzIGluaXRpYWwgY29uZmlndXJhdGlvbiwgUG9ydGxldENvbmZpZy4gDVBvcnRsZXRBZGFwdGVyLmluaXRDb25jcmV0ZShQb3J0bGV0U2V0dGluZ3MpIGlzIGludm9rZWQuIFRoaXMgcHJvdmlkZXMgdGhlIGNvbmNyZXRlIHBvcnRsZXQgaW5zdGFuY2Ugd2l0aCBpdHMgaW5pdGlhbCBjb25maWd1cmF0aW9uLCATIEhZUEVSTElOSyAiaHR0cDovL3d3dy5ncmlkc3BoZXJlLm9yZy9ncmlkc3BoZXJlL2RvY3MvamF2YWRvY3Mvb3JnL2dyaWRsYWIvZ3JpZHNwaGVyZS9wb3J0bGV0L1BvcnRsZXRTZXR0aW5ncy5odG1sIiBcbyAiaW50ZXJmYWNlIGluIG9yZy5ncmlkbGFiLmdyaWRzcGhlcmUucG9ydGxldCIgFFBvcnRsZXRTZXR0aW5ncxUuIA1Qb3J0bGV0QWRhcHRlci5sb2dpbihQb3J0bGV0UmVxdWVzdCkgaXMgaW52b2tlZC4gT25jZSBhIHVzZXIgaGFzIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4sIHRoZSBsb2dpbigpIG1ldGhvZCBpcyBpbnZva2VkIGZvciBlYWNoIG9mIHRoZSBwb3J0bGV0cyBpbiB0aGVpciBzdWJzY3JpcHRpb24gbGlzdC4gDUFic3RyYWN0UG9ydGxldC5zZXJ2aWNlKFBvcnRsZXRSZXF1ZXN0LCBQb3J0bGV0UmVzcG9uc2UpIGlzIGludm9rZWQuIFRoaXMgc2VydmljZXMgdGhlIGNvbmNyZXRlIHBvcnRsZXQgaW5zdGFuY2UgZm9yIGEgcGFydGljdWxhciB1c2VyIHJlcXVlc3QuIFRoaXMgbGlmZWN5Y2xlIG1ldGhvZCBpcyBpbnZva2VkIG9uIGNvbmNyZXRlIHBvcnRsZXRzIGZvciBlYWNoIGFuZCBldmVyeSB1c2VyIHJlcXVlc3QuIA1BZGRpdGlvbmFsbHkgdGhlIGZvbGxvd2luZyBsaWZlY3ljbGUgbWV0aG9kcyBtYXkgYmUgcGVyZm9ybWVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IA0gICAgICAgICAgICBBbiBhcHByb3ByaWF0ZSBwb3J0bGV0IGFjdGlvbiBtZXRob2QgaXMgY2FsbGVkOiANQWJzdHJhY3RQb3J0bGV0LmFjdGlvblBlcmZvcm1lZChBY3Rpb25FdmVudCkgaGFuZGxlcyBhIHBvcnRsZXQgYWN0aW9uIGV2ZW50IA1BYnN0cmFjdFBvcnRsZXQubWVzc2FnZVJlY2VpdmVkKE1lc3NhZ2VFdmVudCkgaGFuZGxlcyBhIHBvcnRsZXQgbWVzc2FnZSBldmVudCANQWJzdHJhY3RQb3J0bGV0LndpbmRvd01pbmltaXplZChXaW5kb3dFdmVudCkgaGFuZGxlcyBhIHBvcnRsZXQgd2luZG93IG1pbmltaXplZCBldmVudCANQWJzdHJhY3RQb3J0bGV0LndpbmRvd01heGltaXplZChXaW5kb3dFdmVudCkgaGFuZGxlcyBhIHBvcnRsZXQgd2luZG93IG1heGltaXplZCBldmVudCANQWJzdHJhY3RQb3J0bGV0LndpbmRvd1Jlc3RvcmVkKFdpbmRvd0V2ZW50KSBoYW5kbGVzIGEgcG9ydGxldCB3aW5kb3cgcmVzdG9yZWQgZXZlbnQgDSAgICAgICAgICAgQW4gYXBwcm9wcmlhdGUgcG9ydGxldCByZW5kZXIgbWV0aG9kIGlzIGNhbGxlZDogDVBvcnRsZXRBZGFwdGVyLmRvVmlldyhQb3J0bGV0UmVxdWVzdCwgUG9ydGxldFJlc3BvbnNlKSByZW5kZXIgdGhlIHBvcnRsZXQgVklFVyBtb2RlLiANUG9ydGxldEFkYXB0ZXIuZG9FZGl0KFBvcnRsZXRSZXF1ZXN0LCBQb3J0bGV0UmVzcG9uc2UpIHJlbmRlciB0aGUgcG9ydGxldCBWSUVXIG1vZGUuIA1Qb3J0bGV0QWRhcHRlci5kb0hlbHAoUG9ydGxldFJlcXVlc3QsIFBvcnRsZXRSZXNwb25zZSkgcmVuZGVyIHRoZSBwb3J0bGV0IFZJRVcgbW9kZS4gDVBvcnRsZXRBZGFwdGVyLmRvQ29uZmlndXJlKFBvcnRsZXRSZXF1ZXN0LCBQb3J0bGV0UmVzcG9uc2UpIHJlbmRlciB0aGUgcG9ydGxldCBWSUVXIG1vZGUuIA1Qb3J0bGV0QWRhcHRlci5sb2dvdXQoUG9ydGxldFNlc3Npb24pIGlzIGludm9rZWQuIFRoZSBsb2dvdXQoKSBtZXRob2QgaXMgaW52b2tlZCBmb3IgZWFjaCBvZiB0aGUgcG9ydGxldHMgYSB1c2VyJ3Mgc3Vic2NyaXB0aW9uIGxpc3QuIA1Qb3J0bGV0QWRhcHRlci5kZXN0cm95Q29uY3JldGUoUG9ydGxldFNldHRpbmdzKSBpcyBpbnZva2VkLiBUaGlzIGRlc3Ryb3lzIHRoZSBjb25jcmV0ZSBwb3J0bGV0IGluc3RhbmNlLiANUG9ydGxldC5kZXN0cm95KCkgaXMgaW52b2tlZC4gVGhpcyBkZXN0cm95cyB0aGUgYXBwbGljYXRpb24gDQ1Ib3cgdG8gc2VuZCBhIG1lc3NhZ2UNDVlvdSBjYW4gc2VuZCB0aGUgbWVzc2FnZSBpbiBtZXRob2QgYWN0aW9uUGVyZm9ybWVkIHVzaW5nIHRoZSBzZW5kIG1ldGhvZCBvbiB0aGUgUG9ydGFsQ29udGV4dDoNZ2V0UG9ydGxldENvbmZpZygpLmdldENvbnRleHQoKS5zZW5kKG51bGwsIG5ldyBEZWZhdWx0UG9ydGxldE1lc3NhZ2Uok01vbiBNZXNzYWdllCkpOw0NU2FtcGxlIGltcGxlbWVudGF0aW9uIG9mIE1ldGhvZCBtZXNzYWdlUmVjZWl2ZWQNDXB1YmxpYyB2b2lkIG1lc3NhZ2VSZWNlaXZlZChNZXNzYWdlRXZlbnQgZXZlbnQpIHRocm93cyBQb3J0bGV0RXhjZXB0aW9uIHsNIAlpZiggZ2V0UG9ydGxldExvZygpLmlzRGVidWdFbmFibGVkKCkgKQ0JICAgICAgICBnZXRQb3J0bGV0TG9nKCkuZGVidWcoIk1lc3NhZ2VMaXN0ZW5lciAtIG1lc3NhZ2VSZWNlaXZlZCBjYWxsZWQiKTsNCSAgICAvLyBNZXNzYWdlRXZlbnQgaGFuZGxlcg0JICAgIFBvcnRsZXRNZXNzYWdlIG1zZyA9IGV2ZW50LmdldE1lc3NhZ2UoKTsNCSAgICAvLyBhZGQgUG9ydGxldE1lc3NhZ2UgaGFuZGxlciBoZXJlDQkgICAgaWYoIG1zZyBpbnN0YW5jZW9mIERlZmF1bHRQb3J0bGV0TWVzc2FnZSApIHsNCSAgICAgICAgU3RyaW5nIG1lc3NhZ2VUZXh0ID0gKChEZWZhdWx0UG9ydGxldE1lc3NhZ2UpbXNnKS5nZXRNZXNzYWdlKCk7DQkgICAgICAgIC8vIEFkZCBEZWZhdWx0UG9ydGxldE1lc3NhZ2UgaGFuZGxlciBoZXJlDQkgICAgICAgIGV2ZW50LmdldFJlcXVlc3QoKS5nZXRQb3J0bGV0U2Vzc2lvbigpLnNldEF0dHJpYnV0ZSgibWVzc2FnZSIsIG1lc3NhZ2VUZXh0KTsNCSAgICAgICAgDQkgICAgfQ0JICAgIGVsc2Ugew0JICAgICAgICAvLyBBZGQgZ2VuZXJhbCBQb3J0bGV0TWVzc2FnZSBoYW5kbGVyIGhlcmUNCSAgICB9DQl9DQcHDVVzZWZ1bCBEb2N1bWVudGF0aW9uDQ0TIEhZUEVSTElOSyAiaHR0cDovL3B1YmxpYi5ib3VsZGVyLmlibS5jb20vaW5mb2NlbnRlci93c3BzaGVscC9pbmRleC5qc3A/dG9waWM9L2NvbS5pYm0ud3AuZW50LmRvYy93cHMvd3BzYnNtc2cuaHRtbCIgARRodHRwOi8vcHVibGliLmJvdWxkZXIuaWJtLmNvbS9pbmZvY2VudGVyL3dzcHNoZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmlibS53cC5lbnQuZG9jL3dwcy93cHNic21zZy5odG1sFQ0TIEhZUEVSTElOSyAiaHR0cDovL3d3dy0xMjguaWJtLmNvbS9kZXZlbG9wZXJ3b3Jrcy93ZWJzcGhlcmUvbGlicmFyeS90ZWNoYXJ0aWNsZXMvMDQwMl9rb25kdXJ1LzA0MDJfa29uZHVydS5odG1sIiABFGh0dHA6Ly93d3ctMTI4LmlibS5jb20vZGV2ZWxvcGVyd29ya3Mvd2Vic3BoZXJlL2xpYnJhcnkvdGVjaGFydGljbGVzLzA0MDJfa29uZHVydS8wNDAyX2tvbmR1cnUuaHRtbBUNDQ1Qcm9wb3NhbCBmb3IgY3Byd3cgcHJvamVjdA0NRm9yIHRoZSBjdXJyZW50IHByb2plY3QsIHdlIGRvIG5vdCBuZWVkIHRvIGltcGxlbWVudCB0aGUgcG9ydGxldCBtZXNzYWdpbmcgc29sdXRpb24uIEFjdHVhbGx5LCB3ZSBoYXZlIGEgYmV0dGVyIHNvbHV0aW9uIHdoaWNoIGFsbG93cyB1cyB0byBtZWV0IG91ciBuZWVkcyBvZiBwZXJmb3JtYW5jZSB3aXRob3V0IGFueSBoZWF2eSBjb2RlIGNoYW5nZS4NDVRoZSBuZWVkIGlzIHRvIGhhdmUgb25seSBvbmUgY2FsbCB0byB0aGUgYmFja29mZmljZSBldmVuIGlmIG1hbnkgcG9ydGxldHMgb24gdGhlIHBhZ2UgbmVlZHMgaW5mb3JtYXRpb24gZm9ybSB0aGUgYmFjay1lbmQuIFRoZSBnb2FsIGlzIHRvIGF2b2lkIGR1cGxpY2F0ZWQgY2FsbHMgdG8gdGhlIGJhY2tvZmZpY2UgaW4gb3JkZXIgdG8gaW5jcmVhc2UgdGhlIHBlcmZvcm1hbmNlLg0NT3VyIHByb3Bvc2FsIGlzIHRvIGltcGxlbWVudCBhIGtpbmQgb2YgY2FjaGUgYXQgdGhlIHJlcXVlc3QgbGV2ZWwuIFdlIHdpbGwgdXNlIHRoZSByZXF1ZXN0IHNjb3BlIHRvIHN0b3JlIHNoYXJlZCBvYmplY3RzIG92ZXIgcG9ydGxldHMgb2YgYSBwYWdlLg1UaGUgcHJvY2VzcyB0byBnZXQgZGF0YSBmb3IgYWxsIHBvcnRsZXRzIGlzIHRoZSBmb2xsb3dpbmc6DXRyeSB0byBnZXQgdGhlIG9iamVjdHMgZnJvbSB0aGUgcmVxdWVzdCAocmVxdWVzdC5nZXRBdHRyaWJ1dGWUTXlPYmplY3SUKQ1JZiB0aGlzIG9iamVjdCBleGlzdHMsIHVzZSB0aGUgb25lIGNvbWluZyBmcm9tIHRoZSByZXF1ZXN0DUVsc2UgbWFrZSBhIGNhbGwgdG8gdGhlIGJhY2stZW5kIGFuZCBzdG9yZSB0aGUgb2JqZWN0IGluIHJlcXVlc3Qgc2NvcGUgKHJlcXVlc3Quc2V0QXR0cmlidXRllE15T2JqZWN0lCkNDVdpdGggdGhpcyBzb2x1dGlvbiwgd2UgaGF2ZSBvbmx5IG9uZSBjYWxsIHRvIHRoZSBiYWNrZW5kIGV2ZW4gaWYgbWFueSBwb3J0bGV0cyB1c2UgdGhlIHNhbWUgb2JqZWN0cy4NVGhlcmUgaXMgbm8gcHJvYmxlbSBvZiBjYWNoZSB1cGRhdGUsIGJlY2F1c2Ugb2JqZWN0cyB3aWxsIGJlIHJlbGVhc2VkIHdoZW4gdGhlIHBhZ2UgaXMgZGlzcGxheWVkLg1UaGlzIHNvbHV0aW9uIGFsbG93cyBvbmUgdG8gcGFzcyBvbiByYXRoZXIgbGFyZ2Ugb2JqZWN0cyB0byB0aGUgUmVxdWVzdCBiZWNhdXNlLCBldmVuIGlmIHRoZXkgYXJlIHN0b3JlZCBpbiB0aGUgTWVtb3J5LCB0aGlzIHdpbGwgb25seSBiZSBmb3IgYSB2ZXJ5IHNob3J0IHBlcmlvZCAoZmV3IG1pbGxpc2Vjb25kcykuDQ1SZW1hcmtzOiANV2UgcHJvcG9zZSB0byBtYWtlIGEgY29tbW9uIGNsYXNzIHRoYXQgaW1wbGVtZW50cyB0aGlzIGJlaGF2aW91ciBpbiBvcmRlciB0byBoYXZlIHRoaXMgY29kZSBhdCBvbmx5IG9uZSBwbGFjZS4NV2UgcHJvcG9zZSB0byBhZGQgYSBCb29sZWFuIHZhcmlhYmxlIGZvciB0aGUgYXBwbGljYXRpb24gd2hpY2ggY291bGQgYWN0aXZhdGUvZGVhY3RpdmF0ZSB0aGlzIGNhY2hlLiBCeSB0aGlzIHdheSwgd2UgY291bGQgdXBkYXRlIHRoaXMgYXR0cmlidXRlIGluIGEgY29uZmlndXJhdGlvbiBmaWxlIChzdWNoIGFzIHByb3BlcnR5IGZpbGUpIGluIG9yZGVyIHRvIGVhc2lseSBhY3RpdmF0ZS9kZWFjdGl2YXRlIHRoZSBjYWNoZS4NDQ1UaGlzIHNvbHV0aW9uIGRvZXMgbm90IHdvcmsgYXMgYSBjYWNoZSBzeXN0ZW0uIFNvLCBpZiB0aGUgaW5mb3JtYXRpb24gY291bGQgYmUgc2hhcmVkIGJ5IG11bHRpcGxlIHVzZXJzLCB3ZSBjYW4gYWxzbyBjb25zaWRlciBhIG1vcmUgZ2xvYmFsIGNhY2hlIHNvbHV0aW9uIHN1Y2ggYXMgZHluYWNhY2hlLiANDQ0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAYIAAAHCAAAGQgAAB4IAAAfCAAAOQgAAEEIAABCCAAAQwgAAFoIAABbCAAAXAgAAF0IAAB5CAAAeggAAHsIAAB8CAAAfQgAAH4IAACHCAAAiAgAAIkIAACjCAAApAgAAKUIAAD47eL47dP47cf4x7SmnaaDtHOdc2hZaEhZAAAAAAAAAAAAAAAAAAAAIAIIgQNqfQAAAAYIARZofAp/AFUIAW1IAARuSAAEdQgBAB0DagAAAAARCIEWaHwKfwBVCAFtSAAEbkgABHUIARQRCIEWaHwKfwBtSAAEbkgABHUIAQAfFWgtDR8AFmh8Cn8AMEoPAG1IAARuSAAEc0gJCHUIATICCIEDagAAAAAGCAEVaHwKfwAWaHwKfwA+KgFCKgJVCAFtSAAEbkgABHBoAAD/AHUIAQARFmh8Cn8AbUgABG5IAAR1CAEbFWgtDR8AFmh8Cn8AMEoPAG1IAARuSAAEdQgBJANqAAAAABVoLQ0fABZofAp/ADBKDwBVCAFtSAAEbkgABHUIAQAXA2oAAAAAFmi1IEwAVQgBbUgJCHNICQgcFWi1IEwAFmi1IEwAQ0okAGFKJABtSAkIc0gJCAAUFWi1IEwAFmi1IEwAQ0pIAGFKSAAAFBVotSBMABZotSBMAG1ICQhzSAkIAA4WaLUgTABtSAkIc0gJCBkABgAAAQgAAAIIAAADCAAABAgAAAUIAAAGCAAABwgAABkIAAAaCAAAGwgAABwIAAAdCAAAHggAAB8IAAAuCAAAOQgAADoIAAA7CAAAPAgAAD0IAAA+CAAAPwgAAEAIAABBCAAAQggAAKkIAAD3AAAAAAAAAAAAAAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAOoAAAAAAAAAAAAAAADqAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAAAAAAAABxMADcYIAALgAWYjAAoABwAAAyQCYSQCZ2S1IEwAAAQAAGdktSBMAAgBAAomAAtGAABnZLUgTAAAGgAGAABaIwAA/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAQEBpQgAAKYIAACnCAAAqAgAAKkIAACqCAAAqwgAAMcIAADICAAAyQgAAMoIAADLCAAA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</uploadData>
               </uploadContexts>
            </interactionParams>
            
 
 for a test purpose, i have tried to save this file on my
local disk using the follwoing lines:
 FileOutputStream fos = new FileOutputStream(new
File("C:\\testFromWsrp4j.doc"));
 fos.write(uploadedData);		          
 fos.close();
 
 When i open the document, it is not readable : i do not get
the uploaded file
 (remarks: those lines works when i am in portlet mode
without wsrp.)
 
 Any ideas ? is it the right approach to get tge content of
the file ?
 
2/ in the same method i try to put the byte array in the
request in order to get this byte array in the portlet.
 
 I am not able to get the object in the protlet when i do
the getAttributee on the request :
 I have try to use the following request : 
   - HttpServletRequest servletRequestOrig = 
                ServletAccess.getServletRequest();
   - HttpServletRequest servletRequest =
                new WSRPServletRequestWrapperImpl(
                servletRequestOrig,
                win,
                usedLocale,
                request.getMarkupParams().getMimeTypes()[0],
                getInteractionParams(request));
                
Can i have your comments/remarks on those 2 points ? Am i in
the right direction ?

kind regards,

Adrien

--------------------- ALICE SECURITE ENFANTS ---------------------
Protégez vos enfants des dangers d'Internet en installant Sécurité Enfants, le contrôle parental d'Alice.
http://www.aliceadsl.fr/securitepc/default_copa.asp