Hi Andreas,

On Sat, Oct 10, 2009 at 6:40 PM, Andreas Veithen
<[email protected]>wrote:

> Hi Senaka,
>
> I've just completed the work on the MTOM/ADB issue discovered by Amila
> earlier this week. To summarize, this issue is triggered if the
> message is MTOM but contains unoptimized base64 data with length zero,
> i.e. empty elements of type base64 (in contrast to xop:Include
> elements pointing to empty attachments).
>

I'll have a look at this. I simply ran the MTOM sample in Axis2, so I don't
think that the attachment was empty.

>
> Do we now if the issue discussed here is also caused by this, or if it
> is a different problem?
>

Not sure about this as yet.

>
> Andreas
>
> PS: Just to rule out any obvious explanations: the Axiom snapshots on
> people.apache.org are outdated; are you sure that you built Axiom
> snapshots from the latest sources?
>

Yes I have an svn checkout which I update at regular intervals. My local
maven repo therefore has a new snapshot.

Thanks,
Senaka.

>
> On Sat, Oct 10, 2009 at 10:03, Senaka Fernando <[email protected]> wrote:
> > Hi Andreas,
> >
> > Any update on this? I have had no luck so far with figuring out what
> could
> > be exact cause to this and do a neat fix. While we can introduce a
> > workaround and fix this, I don't think that it would be the best thing to
> > do. I will have another go at this during this weekend and see if I can
> find
> > a breakthrough.
> >
> > Thanks,
> > Senaka.
> >
> > On Mon, Oct 5, 2009 at 1:04 PM, Andreas Veithen
> > <[email protected]>wrote:
> >
> >> I will try to free up some time tonight to do a debugging session.
> >>
> >> Andreas
> >>
> >> On Sun, Oct 4, 2009 at 06:58, Senaka Fernando <[email protected]> wrote:
> >> > Folks,
> >> >
> >> > We need to get this fixed on Axis2. Andreas, do you have any idea to
> what
> >> > could be causing this issue?
> >> >
> >> > Thanks,
> >> > Senaka.
> >> >
> >> > On Tue, Sep 22, 2009 at 5:19 PM, Senaka Fernando <[email protected]>
> >> wrote:
> >> >
> >> >> Hi Andreas,
> >> >>
> >> >> Have you tested this with Axis2 deployed as a webapp? MTOM seems to
> work
> >> >> fine with the SimpleAxisServer but not when Axis2 is deployed as a
> >> webapp.
> >> >> Below is what I observed on TCPMon (first response is from the
> >> >> SimpleAxisServer).
> >> >>
> >> >>
> ------------------------------------------------------------------------
> >> >> HTTP/1.1 200 OK
> >> >> Date: Mon, 21 Sep 2009 19:03:14 GMT
> >> >> Server: Simple-Server/1.1
> >> >> Transfer-Encoding: chunked
> >> >> Content-Type: multipart/related;
> >> >> boundary=MIMEBoundaryurn_uuid_9645FCE52FDC6F4D931253559793956;
> >> >> type="application/xop+xml"; start="<
> >> >> 0.urn:uuid:[email protected]<0.urn%3auuid%[email protected]>
> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> >
> >> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> <0.urn%253auuid%[email protected]<0.urn%25253auuid%[email protected]>
> >
> >> >>";
> >> >> start-info="text/xml"
> >> >>
> >> >> 202
> >> >> --MIMEBoundaryurn_uuid_9645FCE52FDC6F4D931253559793956
> >> >> Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
> >> >> Content-Transfer-Encoding: binary
> >> >> Content-ID: 
> >> >> <0.urn:uuid:[email protected]<0.urn%3auuid%[email protected]>
> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> >
> >> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> <0.urn%253auuid%[email protected]<0.urn%25253auuid%[email protected]>
> >
> >> >>
> >> >>
> >> >>
> >> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> xmlns:soapenv="
> >> >> http://schemas.xmlsoap.org/soap/envelope/
> >> "><soapenv:Body><ns2:AttachmentResponse
> >> >> xmlns:ns2="http://ws.apache.org/axis2/mtomsample/";>File saved
> >> >>
> succesfully.</ns2:AttachmentResponse></soapenv:Body></soapenv:Envelope>
> >> >> 3c
> >> >>
> >> >> --MIMEBoundaryurn_uuid_9645FCE52FDC6F4D931253559793956--
> >> >>
> >> >> 0
> >> >>
> ------------------------------------------------------------------------
> >> >> HTTP/1.1 200 OK
> >> >> Server: Apache-Coyote/1.1
> >> >> Content-Type: multipart/related;
> >> >> boundary=MIMEBoundaryurn_uuid_9E87539EB4CACBEB921253619434971;
> >> >> type="application/xop+xml"; start="<
> >> >> 0.urn:uuid:[email protected]<0.urn%3auuid%[email protected]>
> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> >
> >> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> <0.urn%253auuid%[email protected]<0.urn%25253auuid%[email protected]>
> >
> >> >>";
> >> >> start-info="text/xml"
> >> >> Transfer-Encoding: chunked
> >> >> Date: Tue, 22 Sep 2009 11:37:15 GMT
> >> >>
> >> >> 202
> >> >> --MIMEBoundaryurn_uuid_9E87539EB4CACBEB921253619434971
> >> >> Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
> >> >> Content-Transfer-Encoding: binary
> >> >> Content-ID: 
> >> >> <0.urn:uuid:[email protected]<0.urn%3auuid%[email protected]>
> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> >
> >> <0.urn%3auuid%[email protected]<0.urn%253auuid%[email protected]>
> <0.urn%253auuid%[email protected]<0.urn%25253auuid%[email protected]>
> >
> >> >>
> >> >>
> >> >>
> >> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> xmlns:soapenv="
> >> >> http://schemas.xmlsoap.org/soap/envelope/
> >> "><soapenv:Body><ns2:AttachmentResponse
> >> >> xmlns:ns2="http://ws.apache.org/axis2/mtomsample/";>File saved
> >> >>
> succesfully.</ns2:AttachmentResponse></soapenv:Body></soapenv:Envelope>
> >> >> 0
> >> >>
> -----------------------------------------------------------------------
> >> >>
> >> >> Thanks,
> >> >> Senaka.
> >> >>
> >> >>
> >> >> On Thu, Sep 3, 2009 at 1:05 PM, Andreas Veithen <
> >> [email protected]
> >> >> > wrote:
> >> >>
> >> >>> On Thu, Sep 3, 2009 at 05:51, Amila
> >> >>> Suriarachchi<[email protected]> wrote:
> >> >>> > On Thu, Sep 3, 2009 at 3:16 AM, Andreas Veithen
> >> >>> > <[email protected]>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.
> >> >>>
> >> >>> Yes, I tested with different files with sizes ranging from a couple
> of
> >> >>> KB to several MB. They all got transferred correctly.
> >> >>>
> >> >>> > 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.
> >> >>>
> >> >>> It could be some subtle problem depending on the OS (I tested on Mac
> >> >>> OS X), the JRE (I tested on Apple/Sun Java 1.5) or the JARs in the
> >> >>> classpath (On the client side, I tested with activation and javamail
> >> >>> from Geronimo and Sun, but there is no difference).
> >> >>>
> >> >>> > thanks,
> >> >>> > Amila.
> >> >>> >
> >> >>> >
> >> >>> >> Andreas
> >> >>> >>
> >> >>> >> On Tue, Sep 1, 2009 at 14:27, Amila
> >> >>> >> Suriarachchi<[email protected]> 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/
> >> >>> >
> >> >>>
> >> >>
> >> >>
> >> >
> >>
> >
>

Reply via email to