Re: REST DSL process multipart/form-data binary file?

2017-10-02 Thread Mark
Figured it out.  The Postman extension for Chrome sucks.  The Advanced REST
Client works properly and sends data to my server with no problem.  I still
think something is broke with the version of Jetty that comes with Camel
2.16.2, but netty4-http works like a champ.

Thanks for helping me out.


On Mon, Oct 2, 2017 at 7:09 AM, Mark  wrote:

> I'm sending the data right now using the Postman app in Chrome.
>
> My data comes across looking like this:
>
> --WebKitFormBoundaryNZwE5GrXaeBuK9I9
>
> Content-Disposition: form-data; name="fileUpload"; filename="nhc.kmz"
> Content-Type: application/vnd.google-earth.kmz
>
> [binary data]
>
> --WebKitFormBoundaryNZwE5GrXaeBuK9I9
> Content-Disposition: form-data; name="header1"
>
> value1
>
> --WebKitFormBoundaryNZwE5GrXaeBuK9I9--
>
>
>
> On Mon, Oct 2, 2017 at 5:41 AM, Roman Vottner  wrote:
>
>> How do you send data to your application? Have you specified a
>> Content-Disposition header for the respective parts?
>>
>> We analysed a raw request via wireshark and it does look something like
>> this:
>>
>> GET /api/someResource HTTP/1.1
>> Host: www.somewhere.com 
>> …
>> Content-Type: multipart/form-data; boundary=-
>> ---d9c950f09cd11bba
>>
>> --d9c950f09cd11bba
>> Content-Disposition: form-data; name="dat1"; filename=„SomeFile.zip"
>> Content-Type: application/octet-stream
>>
>> …
>>
>> --d9c950f09cd11bba
>> Content-Disposition: form-data; name="dat2"; filename=„SomeOtherFile.zip"
>> Content-Type: application/octet-stream
>>
>> …
>>
>>
>> We use Camel 2.19.0 and the Undertow version Camel
>> (camel-undertow-starter) and/or Spring-Boot (spring-boot-starter-undertow)
>> includes their dependencies (undertow 1.4.13.FINAL).
>>
>>
>> > Am 02.10.2017 um 04:25 schrieb Mark Webb [via Camel] <
>> ml+s465427n5814065...@n5.nabble.com>:
>> >
>> > Thanks for the example.  I cannot get your code working though.  I get
>> the
>> > following:
>> >
>> > [qtp1422312468-17] HandleUpload   INFO  Upload received
>> > [ qtp1422312468-17] HandleUpload   INFO  Exchange body:
>> > org.apache.camel.converter.stream.InputStreamCache@1cf48789
>> > [qtp1422312468-17] HandleUpload   INFO  Attachment
>> size: 0
>> > [qtp1422312468-17] HandleUpload   INFO  Attachment
>> object
>> > size: 0
>> > [qtp1422312468-17] HandleUpload   WARN  No attachments
>> > found!
>> >
>> > I am testing with the Postman app in the Chrome Browser and using Jetty.
>> > I'm using Camel 2.16.2, since we're deploying in ServiceMix.   I tried
>> > testing with Camel 2.19.3 and observed the same problem so I don't
>> think a
>> > newer version of Camel fixes things.  What environment are you running
>> your
>> > code inside?
>> >
>> >
>> >
>> >
>> >
>> > On Sat, Sep 30, 2017 at 9:13 PM, Roman Vottner <[hidden email]
>> > wrote:
>> >
>> > > Our Camel REST DSL configuration looks like this:
>> > >
>> > > onException(Exception.class)
>> > > .handled(true)
>> > > .logExhausted(false)
>> > > .log(LoggingLevel.ERROR, ">> In default/message exception
>> handler.
>> > > ${exception}, message: ${exception.message}, stacktrace:
>> > > ${exception.stacktrace}")
>> > > .onRedelivery((Exchange exchange) -> LOG.debug(">> Default
>> > > exception handler"))
>> > > .bean(PrepareErrorResponse.class).id("ErrorResponse")
>> > > .end();
>> > >
>> > > restConfiguration()
>> > > .component("undertow")
>> > > .port("{{server.port}}")
>> > > .contextPath("/api")
>> > > .endpointProperty("matchOnUriPrefix", "true")
>> > > .endpointProperty("sendServerVersion", "false")
>> > > .endpointProperty("chunked", "true");
>> > >
>> > > where the actual route handling the multipart-request does look
>> something
>> > > along the line:
>> > >
>> > > rest("/someEndpoint")
>> > > .post("/{id}")
>> > > .consumes(MediaType.MULTIPART_FORM_DATA_VALUE)
>> > > .route().routeId("upload-multipart-route")
>> > >   // Spring Security authentication check via Authorization
>> header
>> > >   .bean(SpringSecurityContextLoader.class)
>> > >   .policy(authorizationPolicy)
>> > >   .log("Uploading to resource id ${header.id}")
>> > >   .log(LoggingLevel.INFO, LOG, CONFIDENTIAL,"Headers:
>> ${headers}")
>> > >   .bean(HandleUpload.class)
>> > >   .process((Exchange exchange) -> {
>> > > exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE,
>> 200);
>> > > exchange.getIn().setHeader(Exchange.CONTENT_TYPE,
>> > > MediaType.APPLICATION_JSON_UTF8_VALUE);
>> > > ...
>> > >   })
>> > > .endRest();
>> > >
>> > > and the HandleUpload class looking something like this:
>> > >
>> > > public class HandleUpload {
>> > >
>> > >   

Re: REST DSL process multipart/form-data binary file?

2017-10-02 Thread Mark
I'm sending the data right now using the Postman app in Chrome.

My data comes across looking like this:

--WebKitFormBoundaryNZwE5GrXaeBuK9I9

Content-Disposition: form-data; name="fileUpload"; filename="nhc.kmz"
Content-Type: application/vnd.google-earth.kmz

[binary data]

--WebKitFormBoundaryNZwE5GrXaeBuK9I9
Content-Disposition: form-data; name="header1"

value1

--WebKitFormBoundaryNZwE5GrXaeBuK9I9--



On Mon, Oct 2, 2017 at 5:41 AM, Roman Vottner  wrote:

> How do you send data to your application? Have you specified a
> Content-Disposition header for the respective parts?
>
> We analysed a raw request via wireshark and it does look something like
> this:
>
> GET /api/someResource HTTP/1.1
> Host: www.somewhere.com 
> …
> Content-Type: multipart/form-data; boundary=-
> ---d9c950f09cd11bba
>
> --d9c950f09cd11bba
> Content-Disposition: form-data; name="dat1"; filename=„SomeFile.zip"
> Content-Type: application/octet-stream
>
> …
>
> --d9c950f09cd11bba
> Content-Disposition: form-data; name="dat2"; filename=„SomeOtherFile.zip"
> Content-Type: application/octet-stream
>
> …
>
>
> We use Camel 2.19.0 and the Undertow version Camel
> (camel-undertow-starter) and/or Spring-Boot (spring-boot-starter-undertow)
> includes their dependencies (undertow 1.4.13.FINAL).
>
>
> > Am 02.10.2017 um 04:25 schrieb Mark Webb [via Camel] <
> ml+s465427n5814065...@n5.nabble.com>:
> >
> > Thanks for the example.  I cannot get your code working though.  I get
> the
> > following:
> >
> > [qtp1422312468-17] HandleUpload   INFO  Upload received
> > [ qtp1422312468-17] HandleUpload   INFO  Exchange body:
> > org.apache.camel.converter.stream.InputStreamCache@1cf48789
> > [qtp1422312468-17] HandleUpload   INFO  Attachment size:
> 0
> > [qtp1422312468-17] HandleUpload   INFO  Attachment object
> > size: 0
> > [qtp1422312468-17] HandleUpload   WARN  No attachments
> > found!
> >
> > I am testing with the Postman app in the Chrome Browser and using Jetty.
> > I'm using Camel 2.16.2, since we're deploying in ServiceMix.   I tried
> > testing with Camel 2.19.3 and observed the same problem so I don't think
> a
> > newer version of Camel fixes things.  What environment are you running
> your
> > code inside?
> >
> >
> >
> >
> >
> > On Sat, Sep 30, 2017 at 9:13 PM, Roman Vottner <[hidden email]
> > wrote:
> >
> > > Our Camel REST DSL configuration looks like this:
> > >
> > > onException(Exception.class)
> > > .handled(true)
> > > .logExhausted(false)
> > > .log(LoggingLevel.ERROR, ">> In default/message exception
> handler.
> > > ${exception}, message: ${exception.message}, stacktrace:
> > > ${exception.stacktrace}")
> > > .onRedelivery((Exchange exchange) -> LOG.debug(">> Default
> > > exception handler"))
> > > .bean(PrepareErrorResponse.class).id("ErrorResponse")
> > > .end();
> > >
> > > restConfiguration()
> > > .component("undertow")
> > > .port("{{server.port}}")
> > > .contextPath("/api")
> > > .endpointProperty("matchOnUriPrefix", "true")
> > > .endpointProperty("sendServerVersion", "false")
> > > .endpointProperty("chunked", "true");
> > >
> > > where the actual route handling the multipart-request does look
> something
> > > along the line:
> > >
> > > rest("/someEndpoint")
> > > .post("/{id}")
> > > .consumes(MediaType.MULTIPART_FORM_DATA_VALUE)
> > > .route().routeId("upload-multipart-route")
> > >   // Spring Security authentication check via Authorization
> header
> > >   .bean(SpringSecurityContextLoader.class)
> > >   .policy(authorizationPolicy)
> > >   .log("Uploading to resource id ${header.id}")
> > >   .log(LoggingLevel.INFO, LOG, CONFIDENTIAL,"Headers:
> ${headers}")
> > >   .bean(HandleUpload.class)
> > >   .process((Exchange exchange) -> {
> > > exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE,
> 200);
> > > exchange.getIn().setHeader(Exchange.CONTENT_TYPE,
> > > MediaType.APPLICATION_JSON_UTF8_VALUE);
> > > ...
> > >   })
> > > .endRest();
> > >
> > > and the HandleUpload class looking something like this:
> > >
> > > public class HandleUpload {
> > >
> > >   private static final Logger LOG = LoggerFactory.getLogger(Method
> > > Handles.lookup().lookupClass());
> > >
> > >   @Autowired
> > >   private SomeRepository someRepository;
> > >
> > >   @Handler
> > >   public void processUpload(@Attachments Map
> > > attachments,
> > > @Header("Content-Type") String contentType,
> > > @Header("id") String id,
> > > Exchange exchange)
> > >   throws Exception {
> > > 

Re: REST DSL process multipart/form-data binary file?

2017-10-02 Thread Roman Vottner
How do you send data to your application? Have you specified a 
Content-Disposition header for the respective parts?

We analysed a raw request via wireshark and it does look something like this:

GET /api/someResource HTTP/1.1
Host: www.somewhere.com 
…
Content-Type: multipart/form-data; 
boundary=d9c950f09cd11bba

--d9c950f09cd11bba
Content-Disposition: form-data; name="dat1"; filename=„SomeFile.zip"
Content-Type: application/octet-stream

…

--d9c950f09cd11bba
Content-Disposition: form-data; name="dat2"; filename=„SomeOtherFile.zip"
Content-Type: application/octet-stream

…


We use Camel 2.19.0 and the Undertow version Camel (camel-undertow-starter) 
and/or Spring-Boot (spring-boot-starter-undertow) includes their dependencies 
(undertow 1.4.13.FINAL). 


> Am 02.10.2017 um 04:25 schrieb Mark Webb [via Camel] 
> :
> 
> Thanks for the example.  I cannot get your code working though.  I get the 
> following: 
> 
> [qtp1422312468-17] HandleUpload   INFO  Upload received 
> [ qtp1422312468-17] HandleUpload   INFO  Exchange body: 
> org.apache.camel.converter.stream.InputStreamCache@1cf48789 
> [qtp1422312468-17] HandleUpload   INFO  Attachment size: 0 
> [qtp1422312468-17] HandleUpload   INFO  Attachment object 
> size: 0 
> [qtp1422312468-17] HandleUpload   WARN  No attachments 
> found! 
> 
> I am testing with the Postman app in the Chrome Browser and using Jetty. 
> I'm using Camel 2.16.2, since we're deploying in ServiceMix.   I tried 
> testing with Camel 2.19.3 and observed the same problem so I don't think a 
> newer version of Camel fixes things.  What environment are you running your 
> code inside? 
> 
> 
> 
> 
> 
> On Sat, Sep 30, 2017 at 9:13 PM, Roman Vottner <[hidden email] 
> > wrote: 
> 
> > Our Camel REST DSL configuration looks like this: 
> > 
> > onException(Exception.class) 
> > .handled(true) 
> > .logExhausted(false) 
> > .log(LoggingLevel.ERROR, ">> In default/message exception handler. 
> > ${exception}, message: ${exception.message}, stacktrace: 
> > ${exception.stacktrace}") 
> > .onRedelivery((Exchange exchange) -> LOG.debug(">> Default 
> > exception handler")) 
> > .bean(PrepareErrorResponse.class).id("ErrorResponse") 
> > .end(); 
> > 
> > restConfiguration() 
> > .component("undertow") 
> > .port("{{server.port}}") 
> > .contextPath("/api") 
> > .endpointProperty("matchOnUriPrefix", "true") 
> > .endpointProperty("sendServerVersion", "false") 
> > .endpointProperty("chunked", "true"); 
> > 
> > where the actual route handling the multipart-request does look something 
> > along the line: 
> > 
> > rest("/someEndpoint") 
> > .post("/{id}") 
> > .consumes(MediaType.MULTIPART_FORM_DATA_VALUE) 
> > .route().routeId("upload-multipart-route") 
> >   // Spring Security authentication check via Authorization header 
> >   .bean(SpringSecurityContextLoader.class) 
> >   .policy(authorizationPolicy) 
> >   .log("Uploading to resource id ${header.id}") 
> >   .log(LoggingLevel.INFO, LOG, CONFIDENTIAL,"Headers: ${headers}") 
> >   .bean(HandleUpload.class) 
> >   .process((Exchange exchange) -> { 
> > exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 200); 
> > exchange.getIn().setHeader(Exchange.CONTENT_TYPE, 
> > MediaType.APPLICATION_JSON_UTF8_VALUE); 
> > ... 
> >   }) 
> > .endRest(); 
> > 
> > and the HandleUpload class looking something like this: 
> > 
> > public class HandleUpload { 
> > 
> >   private static final Logger LOG = LoggerFactory.getLogger(Method 
> > Handles.lookup().lookupClass()); 
> > 
> >   @Autowired 
> >   private SomeRepository someRepository; 
> > 
> >   @Handler 
> >   public void processUpload(@Attachments Map 
> > attachments, 
> > @Header("Content-Type") String contentType, 
> > @Header("id") String id, 
> > Exchange exchange) 
> >   throws Exception { 
> > LOG.info("Upload received"); 
> > 
> > LOG.info("Exchange body: " + exchange.getIn().getBody()); 
> > LOG.info("Attachment size: " + (attachments == null ? 0 : 
> > attachments.size())); 
> > LOG.info("Attachment object size: " + 
> > (exchange.getIn().getAttachmentObjects() 
> > == null ? 0 
> > : exchange.getIn().getAttachmentObjects().size())); 
> > if (exchange.getIn().getAttachmentNames() != null) { 
> >   for (String name : exchange.getIn().getAttachmentNames()) { 
> > LOG.info("Attachment name: " + name); 
> >   } 
> > } 
> > 
> > if (contentType == null || !contentType.startsWith(MediaT 

Re: REST DSL process multipart/form-data binary file?

2017-10-01 Thread Mark
Thanks for the example.  I cannot get your code working though.  I get the
following:

[qtp1422312468-17] HandleUpload   INFO  Upload received
[ qtp1422312468-17] HandleUpload   INFO  Exchange body:
org.apache.camel.converter.stream.InputStreamCache@1cf48789
[qtp1422312468-17] HandleUpload   INFO  Attachment size: 0
[qtp1422312468-17] HandleUpload   INFO  Attachment object
size: 0
[qtp1422312468-17] HandleUpload   WARN  No attachments
found!

I am testing with the Postman app in the Chrome Browser and using Jetty.
I'm using Camel 2.16.2, since we're deploying in ServiceMix.   I tried
testing with Camel 2.19.3 and observed the same problem so I don't think a
newer version of Camel fixes things.  What environment are you running your
code inside?





On Sat, Sep 30, 2017 at 9:13 PM, Roman Vottner  wrote:

> Our Camel REST DSL configuration looks like this:
>
> onException(Exception.class)
> .handled(true)
> .logExhausted(false)
> .log(LoggingLevel.ERROR, ">> In default/message exception handler.
> ${exception}, message: ${exception.message}, stacktrace:
> ${exception.stacktrace}")
> .onRedelivery((Exchange exchange) -> LOG.debug(">> Default
> exception handler"))
> .bean(PrepareErrorResponse.class).id("ErrorResponse")
> .end();
>
> restConfiguration()
> .component("undertow")
> .port("{{server.port}}")
> .contextPath("/api")
> .endpointProperty("matchOnUriPrefix", "true")
> .endpointProperty("sendServerVersion", "false")
> .endpointProperty("chunked", "true");
>
> where the actual route handling the multipart-request does look something
> along the line:
>
> rest("/someEndpoint")
> .post("/{id}")
> .consumes(MediaType.MULTIPART_FORM_DATA_VALUE)
> .route().routeId("upload-multipart-route")
>   // Spring Security authentication check via Authorization header
>   .bean(SpringSecurityContextLoader.class)
>   .policy(authorizationPolicy)
>   .log("Uploading to resource id ${header.id}")
>   .log(LoggingLevel.INFO, LOG, CONFIDENTIAL,"Headers: ${headers}")
>   .bean(HandleUpload.class)
>   .process((Exchange exchange) -> {
> exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 200);
> exchange.getIn().setHeader(Exchange.CONTENT_TYPE,
> MediaType.APPLICATION_JSON_UTF8_VALUE);
> ...
>   })
> .endRest();
>
> and the HandleUpload class looking something like this:
>
> public class HandleUpload {
>
>   private static final Logger LOG = LoggerFactory.getLogger(Method
> Handles.lookup().lookupClass());
>
>   @Autowired
>   private SomeRepository someRepository;
>
>   @Handler
>   public void processUpload(@Attachments Map
> attachments,
> @Header("Content-Type") String contentType,
> @Header("id") String id,
> Exchange exchange)
>   throws Exception {
> LOG.info("Upload received");
>
> LOG.info("Exchange body: " + exchange.getIn().getBody());
> LOG.info("Attachment size: " + (attachments == null ? 0 :
> attachments.size()));
> LOG.info("Attachment object size: " + 
> (exchange.getIn().getAttachmentObjects()
> == null ? 0
> : exchange.getIn().getAttachmentObjects().size()));
> if (exchange.getIn().getAttachmentNames() != null) {
>   for (String name : exchange.getIn().getAttachmentNames()) {
> LOG.info("Attachment name: " + name);
>   }
> }
>
> if (contentType == null || !contentType.startsWith(MediaT
> ype.MULTIPART_FORM_DATA_VALUE)) {
>   LOG.warn("Unsupported media type!");
>   throw new UnSupportedUploadMediaTypeException("Content-Type has to
> be 'multipart/form-data'");
> }
>
> if (attachments.size() == 0) {
>   LOG.warn("No attachments found!");
> } else {
>   for (String key : attachments.keys()) {
> LOG.info("Filename: " + key);
>
> String uploadKey = id + "_" + new Date().toInstant().toEpochMilli()
> + "_" +
> attachments.get(key).getDataSource().getName();
>
> // stream data directly to a file to save memory footprint
> File targetFile = new File(uploadKey);
> try (OutputStream outStream = new FileOutputStream(targetFile,
> false)) {
> attachments.get(key).writeTo(outStream);
> }
>
> ...
>   }
> }
>
> ...
>   }
> }
>
> Although we currently test Undertow, switching it with Jetty shouldn't be
> an issue.
>
> HTH,
> roman
>
>
>
> Am 01.10.2017 um 02:18 schrieb Mark:
>
>> I understand that, problem is that I can't figure out how to configure the
>> Camel Route to properly receive/parse the data.  If I was receiving
>> JSON/KML, this would be easy using the functionality in Camel.  Binary
>> files seem to be totally different.

Re: REST DSL process multipart/form-data binary file?

2017-09-30 Thread Roman Vottner

Our Camel REST DSL configuration looks like this:

onException(Exception.class)
.handled(true)
.logExhausted(false)
.log(LoggingLevel.ERROR, ">> In default/message exception 
handler. ${exception}, message: ${exception.message}, stacktrace: 
${exception.stacktrace}")
.onRedelivery((Exchange exchange) -> LOG.debug(">> Default 
exception handler"))

.bean(PrepareErrorResponse.class).id("ErrorResponse")
.end();

restConfiguration()
.component("undertow")
.port("{{server.port}}")
.contextPath("/api")
.endpointProperty("matchOnUriPrefix", "true")
.endpointProperty("sendServerVersion", "false")
.endpointProperty("chunked", "true");

where the actual route handling the multipart-request does look 
something along the line:


rest("/someEndpoint")
.post("/{id}")
.consumes(MediaType.MULTIPART_FORM_DATA_VALUE)
.route().routeId("upload-multipart-route")
  // Spring Security authentication check via Authorization header
  .bean(SpringSecurityContextLoader.class)
  .policy(authorizationPolicy)
  .log("Uploading to resource id ${header.id}")
  .log(LoggingLevel.INFO, LOG, CONFIDENTIAL,"Headers: ${headers}")
  .bean(HandleUpload.class)
  .process((Exchange exchange) -> {
exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 200);
exchange.getIn().setHeader(Exchange.CONTENT_TYPE, 
MediaType.APPLICATION_JSON_UTF8_VALUE);

...
  })
.endRest();

and the HandleUpload class looking something like this:

public class HandleUpload {

  private static final Logger LOG = 
LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());


  @Autowired
  private SomeRepository someRepository;

  @Handler
  public void processUpload(@Attachments Map 
attachments,

@Header("Content-Type") String contentType,
@Header("id") String id,
Exchange exchange)
  throws Exception {
LOG.info("Upload received");

LOG.info("Exchange body: " + exchange.getIn().getBody());
LOG.info("Attachment size: " + (attachments == null ? 0 : 
attachments.size()));
LOG.info("Attachment object size: " + 
(exchange.getIn().getAttachmentObjects() == null ? 0

: exchange.getIn().getAttachmentObjects().size()));
if (exchange.getIn().getAttachmentNames() != null) {
  for (String name : exchange.getIn().getAttachmentNames()) {
LOG.info("Attachment name: " + name);
  }
}

if (contentType == null || 
!contentType.startsWith(MediaType.MULTIPART_FORM_DATA_VALUE)) {

  LOG.warn("Unsupported media type!");
  throw new UnSupportedUploadMediaTypeException("Content-Type has 
to be 'multipart/form-data'");

}

if (attachments.size() == 0) {
  LOG.warn("No attachments found!");
} else {
  for (String key : attachments.keys()) {
LOG.info("Filename: " + key);

String uploadKey = id + "_" + new 
Date().toInstant().toEpochMilli() + "_" +

attachments.get(key).getDataSource().getName();

// stream data directly to a file to save memory footprint
File targetFile = new File(uploadKey);
try (OutputStream outStream = new FileOutputStream(targetFile, 
false)) {

attachments.get(key).writeTo(outStream);
}

...
  }
}

...
  }
}

Although we currently test Undertow, switching it with Jetty shouldn't 
be an issue.


HTH,
roman


Am 01.10.2017 um 02:18 schrieb Mark:

I understand that, problem is that I can't figure out how to configure the
Camel Route to properly receive/parse the data.  If I was receiving
JSON/KML, this would be easy using the functionality in Camel.  Binary
files seem to be totally different.


On Sat, Sep 30, 2017 at 8:13 PM, Mark Nuttall  wrote:


it is just a file. any example of processing a file should work.  you will
be able to save it somewhere and then you will have to call some processor
to read/process it.

On Fri, Sep 29, 2017 at 7:47 PM, Mark  wrote:


I'm trying to figure out how to process a binary file that is sent to my
Camel REST service via POST.  I have not found any good examples on how
this can be done using Camel.  Does anyone have any experiences they

could

share or links to more documentation?

I'm currently using the jetty component for the restconfiguration.

Thanks,
Mark





Re: REST DSL process multipart/form-data binary file?

2017-09-30 Thread Mark
I understand that, problem is that I can't figure out how to configure the
Camel Route to properly receive/parse the data.  If I was receiving
JSON/KML, this would be easy using the functionality in Camel.  Binary
files seem to be totally different.


On Sat, Sep 30, 2017 at 8:13 PM, Mark Nuttall  wrote:

> it is just a file. any example of processing a file should work.  you will
> be able to save it somewhere and then you will have to call some processor
> to read/process it.
>
> On Fri, Sep 29, 2017 at 7:47 PM, Mark  wrote:
>
> > I'm trying to figure out how to process a binary file that is sent to my
> > Camel REST service via POST.  I have not found any good examples on how
> > this can be done using Camel.  Does anyone have any experiences they
> could
> > share or links to more documentation?
> >
> > I'm currently using the jetty component for the restconfiguration.
> >
> > Thanks,
> > Mark
> >
>


Re: REST DSL process multipart/form-data binary file?

2017-09-30 Thread Mark Nuttall
it is just a file. any example of processing a file should work.  you will
be able to save it somewhere and then you will have to call some processor
to read/process it.

On Fri, Sep 29, 2017 at 7:47 PM, Mark  wrote:

> I'm trying to figure out how to process a binary file that is sent to my
> Camel REST service via POST.  I have not found any good examples on how
> this can be done using Camel.  Does anyone have any experiences they could
> share or links to more documentation?
>
> I'm currently using the jetty component for the restconfiguration.
>
> Thanks,
> Mark
>