On Thu, Sep 3, 2009 at 3:16 AM, Andreas Veithen <andreas.veit...@gmail.com>wrote:
> Hi Amila, > > I implemented a service and a client according to your description, > but I'm unable to reproduce the issue. Any idea if this is a problem > at client side or in the server? > you mean you get exactly the same file size after being transfered by MTOM? Hope you have tested with few binary files with different file sizes. since there is no exception I have no idea about where could be the problem is. Can the os be a problem? I am using Ubuntu linux. thanks, Amila. > Andreas > > On Tue, Sep 1, 2009 at 14:27, Amila > Suriarachchi<amilasuriarach...@gmail.com> wrote: > > hi, > > I tested the MTOM with the Axis2 trunk with the following service > > > > public String sendFile(DataHandler dataHandler){ > > try { > > FileOutputStream fileOutputStream = new > > FileOutputStream("/home/amila/ec2-bak.tgz"); > > dataHandler.writeTo(fileOutputStream); > > fileOutputStream.flush(); > > fileOutputStream.close(); > > System.out.println("finish writting"); > > } catch (FileNotFoundException e) { > > e.printStackTrace(); > > } catch (IOException e) { > > e.printStackTrace(); > > } > > return "ok"; > > } > > > > with the service.xml to deploy > > > > <service name="MTOMService"> > > <schema schemaNamespace="http://org.apache.axis2/xsd" > > elementFormDefaultQualified="false"/> > > <messageReceivers> > > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" > > > > class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> > > <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" > > > > class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> > > </messageReceivers> > > <parameter > > name="ServiceClass">test.lockhead.service.MTOMService</parameter> > > </service> > > > > Then I generate the code for this service with ADB and access it with the > > following client > > > > private void testMTOM(){ > > try { > > MTOMServiceStub mtomServiceStub = new MTOMServiceStub(" > > > http://localhost:8080/axis2/services/MTOMService.MTOMServiceHttpSoap12Endpoint/ > " > > ); > > > > > > > mtomServiceStub._getServiceClient().getOptions().setProperty(Constants.Configuration.ENABLE_MTOM, > > Constants.VALUE_TRUE); > > DataSource dataSource = new > > FileDataSource("/home/amila/ec2.tgz"); > > DataHandler dataHandler = new DataHandler(dataSource); > > > > mtomServiceStub.sendFile(dataHandler); > > } catch (AxisFault axisFault) { > > axisFault.printStackTrace(); > > } catch (java.rmi.RemoteException e) { > > e.printStackTrace(); > > } > > } > > > > every thing worked fine. Then I went the command prompt and compare the > > sizes of the files > > > > am...@amila:~$ ls -all ec2-bak.tgz ec2.tgz > > -rw-r--r-- 1 amila amila 1990 2009-09-01 17:39 ec2-bak.tgz > > -rw-r--r-- 1 amila amila 2864 2009-09-01 17:28 ec2.tgz > > am...@amila:~$ tar -xvf ec2-bak.tgz > > > > gzip: stdin: invalid compressed data--format violated > > tar: Child returned status 1 > > tar: Error exit delayed from previous errors > > > > so file has not transfered correctly. > > > > Now if I switch off the MTOM by commenting that line > > > > am...@amila:~$ ls -all ec2-bak.tgz ec2.tgz > > -rw-r--r-- 1 amila amila 2864 2009-09-01 17:53 ec2-bak.tgz > > -rw-r--r-- 1 amila amila 2864 2009-09-01 17:28 ec2.tgz > > am...@amila:~$ tar -xvf ec2-bak.tgz > > .ec2/ > > .ec2/accno > > .ec2/cert-76TWWMUYTIAS5B7JK73C2FNCQ5R52CBO.pem > > .ec2/debian_public_debian_etch_15Sep07-keypair > > .ec2/pk-76TWWMUYTIAS5B7JK73C2FNCQ5R52CBO.pem > > > > it works fine. > > > > thanks, > > Amila. > > > > > > > > -- > > Amila Suriarachchi > > WSO2 Inc. > > blog: http://amilachinthaka.blogspot.com/ > > > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/