Because you use:
MyRequestHandler mrh= exchange.getIn().getBody(MyRequestHandler .class);
mrh.getAttachment().getInputStream();

You should share the source of MyRequestHandler and your converter...

Best,
Christian


On Mon, Apr 22, 2013 at 3:05 PM, Sushmita chandra <
flightsoffantasy...@gmail.com> wrote:

> I have created a custom webservice using cxf, which takes zip as an
> attachment.
> In my code i have enabled mtom as mentioned in my context file below also
> annotated interface MyService for enabling mtom.
>
>     <cxf:cxfEndpoint id="someWebserviceEndpoint" address="/someAddress"
>                 serviceClass="com.company.xyz.MyService">
>                 <cxf:properties>
>                         <entry key="mtom-enabled" value="true" />
>                 </cxf:properties>
>     </cxf:cxfEndpoint>
>
> My route is defined as mentioned below.
>
>     from("cxf:bean:someWebserviceEndpoint")
>         .process('someProcessor')
>         .to("log:input")
>
> In my processor i need to extract the zip file from message exchange using
> zipUtility
>
>     public void process(Exchange exchange) throws MyException {
>                 MyRequestHandler mrh=
> exchange.getIn().getBody(MyRequestHandler .class);
>                 System.out.println("cdr :-- "+ cdr);
>                 try {
>                         ZipInputStream zipInputStream = new ZipInputStream
> (mrh.getAttachment().getInputStream());
>                         ZipEntry zipEntry;
>                         zipEntry = zipInputStream.getNextEntry();
>                         if (zipEntry == null){
>                                 System.out.println("First call inside
> null");
>                         }else{
>                                 System.out.println("First call inside not
> null");
>                         }} catch (IOException e1) {
>                         }
>
>                 try {
>                         ZipInputStream zipInputStream1 = new ZipInputStream
> (mrh.getAttachment().getInputStream());
>                         ZipEntry zipEntry1;
>                         zipEntry1 = zipInputStream1.getNextEntry();
>                         if (zipEntry1 == null){
>                                 System.out.println("Second call inside
> null");
>                         }else{
>                                 System.out.println("Second call inside not
> null");
>                         }} catch (IOException e1) {
>                         }
>     ..
>     }
> After deploying when i test through soap ui i am getting below mentioned
> output.
>
> In case MTOM is disabled through soap UI: First call inside not null and
> Second call inside not null
> In case MTOM is enabledthrough soap UI: First call inside not null and
> Second call inside null
>
> Not sure why in case of mtom enabled, i am getting zipEntry as null for
> second time.
> Please let me know if i am doing anything wrong.
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Camel-route-is-not-working-as-expected-when-mtom-is-enabled-tp5731252.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Reply via email to