You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Davanum Srinivas <da...@gmail.com> on 2006/05/08 06:32:43 UTC

Re: Minimal SOAP Client footprint

did u try removing log4j-1.2.13.jar? and jaxen-1.1-beta-8.jar?

Please try removing one by one and then let us know?

thanks,
dims

On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
>
>
>
> Hi,
>
>
>
> Which jar files are required for a simple SOAP client?
>
>
>
> A simple client which I run, from the samples – "googleSearch", depends on
> the following jar files. The total size of these files adds to 3.25 MB.
>
>
>
> annogen-0.1.0.jar
>
> axiom-api-1.0.jar
>
> axiom-impl-1.0.jar
>
> axis2-kernel-1.0.jar
>
> backport-util-concurrent-2.1.jar
>
> commons-codec-1.3.jar
>
> commons-fileupload-1.0.jar
>
> commons-httpclient-3.0.jar
>
> commons-logging-1.0.4.jar
>
> jaxen-1.1-beta-8.jar
>
> log4j-1.2.13.jar
>
> neethi-1.0.1.jar
>
> stax-api-1.0.jar
>
> stax-utils-20060501.jar
>
> wsdl4j-1.5.2.jar
>
> wstx-asl-2.9.3.jar
>
> XmlSchema-1.0.2.jar
>
>
>
> Are all these needed or are there some un-necessary dependencies?
>
> I did check the dependency on these and found them pretty much
> interdependent.
>
> Are there any plans to optimize it for small footprint for clients?
>
>
>
> -Arvind.


--
Davanum Srinivas : http://wso2.com/blogs/

Re: Minimal SOAP Client footprint

Posted by Rodrigo Ruiz <rr...@gridsystems.com>.
I am curious about log4j not being removable. It should be. Which 
exception (stack trace) does it throw when you remove it? Maybe it is a bug.



Regards,
Rodrigo

Arvind Chaudhary wrote:
> Rodrigo,
> 
> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar. 
> 
> So the files reduce to 14 totaling 2.48MB. That’s still too big for a simple
> client! I think it can be reduced further, at least the commons and the
> logging part. I don’t see the logging and Commons http client used directly
> in the sample code. 
> 
> axiom-api-1.0.jar
> axiom-impl-1.0.jar
> axis2-kernel-1.0.jar
> commons-codec-1.3.jar
> commons-fileupload-1.0.jar
> commons-httpclient-3.0.jar
> commons-logging-1.0.4.jar
> log4j-1.2.13.jar
> neethi-1.0.1.jar
> stax-api-1.0.jar
> stax-utils-20060501.jar
> wsdl4j-1.5.2.jar
> wstx-asl-2.9.3.jar
> XmlSchema-1.0.2.jar
> 
> The sample does not work without commons-fileupload-1.0.jar and
> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
> Web API for the search.
> 
> Here is the code from the sample "sample.google.search.AsynchronousClient":
> 
>         URL url = null;
>         try {
>             url = new URL("http", "api.google.com", "/search/beta2");
>         } catch (MalformedURLException e) {
>             e.printStackTrace();
>             System.exit(0);
>         }
> 
>         Options options = new Options();
>  
> options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
>         options.setTo(new EndpointReference(url.toString()));
> 
>         MessageContext requestContext = ClientUtil.getMessageContext(this);
>         try {
>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>             QName opName = new QName("urn:GoogleSearch", "doGoogleSearch");
>             AxisOperation opdesc = new OutInAxisOperation();
>             opdesc.setName(opName);
>             ServiceClient serviceClient = new ServiceClient();
>             serviceClient.setOptions(options);
>             OperationClient opClient =
> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>             opClient.addMessageContext(requestContext);
>             opClient.setCallback(new ClientCallbackHandler(this.gui));
>             opClient.execute(false);
> 
>         } catch (AxisFault e1) {
>             e1.printStackTrace();
>         }
> 
> 
> 
> Regards
> Arvind. 
> 
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com] 
> Sent: Monday, May 08, 2006 6:24 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
> 
> Arvind,
> 
> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
> 
> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
> client does not "post" files to any web page. I am not sure, but the
> dependency from "axis2-kernel-1.0.jar" is probably due to the REST support.
> 
> If you are talking about a runtime environment, libraries regarding code
> generation might be also removed. If this is your case, you may be able
> to remove "annogen-0.1.0.jar".
> 
> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> dependency on it. Jaxen should be needed only for complex XPath queries,
> so you might be able to remove both jars.
> 
> For simple clients, JMS support should not be needed, so
> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> the list.
> 
> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> Ideally, these classes should be optional, as in simple cases, this
> specification will not be used. Perhaps some in the list can confirm this.
> 
> 
> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
> They may refer to implementation classes that can be replaced by other
> ones through System properties. Can anybody confirm this? If this is
> correct, some wisely selected property definitions in the command line
> should remove several of these dependencies, and help to get a smaller
> footprint.
> 
> I personally think that some of these dependencies should be considered
> as bugs. Either at code level, or at documentation level, as it is hard
> to find information about how to replace/remove them.
> 
> Regards,
> Rodrigo
> 
> 
> Arvind Chaudhary wrote:
>> Dims,
>>
>> I tried, and this is the smallest number that it works on. I have also
>> generated a dependency list. I am embedding in the mails. Don't know if
>> attachments are allowed in this forum.
>>
>> -Arvind
>>
>>
>>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
> 
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> 
> 
> 
> 

-- 
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006


Re: Minimal SOAP Client footprint

Posted by Davanum Srinivas <da...@gmail.com>.
Don't do it from the IDE. Do it from the command line.

-- dims

On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
> Dims,
>
> I tried, and it doesn't work. But I don't even get the exceptions. May I am
> missing some configuration settings.
> I would try to debug it with eclipse, to find where the dependency is, when
> I get some time for that.
>
> -Arvind.
>
> -----Original Message-----
> From: Davanum Srinivas [mailto:davanum@gmail.com]
> Sent: Monday, May 08, 2006 11:13 PM
> To: axis-user@ws.apache.org; carvind@techmahindra.com
> Subject: Re: Minimal SOAP Client footprint
>
> Arvind,
>
> don't give up so easily :) everything is structured to give u the
> smallest footprint. Please log a bug report after incorporating all
> the suggestions in this thread.
>
> Example: Did you try removing stax-utils and fileupload jars? and use
> just the other ones?
>
> As i mentioned before, try removing one jar each by hand and re-try
> the client. When you get to the point that removing any more jar has a
> problem, we need that list to start with. As Rodrigo mentioned don't
> use JarAnalyzer.
>
> Thanks,
> dims
>
> On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
> > Rodrigo,
> >
> > Yeah, you guessed it rightly. It would be a webstart application.
> >
> > I am realizing that Axis is not designed for small footprint clients. The
> > focus is on the sever side providing REST like model. At the first look,
> we
> > thought it to be a good alternative considering it the latest and the
> > greatest. But, I see, the jar structure still needs to be improved upon
> for
> > a small client footprint.
> >
> > Yeah, pack200 is great for reducing size. We would be using that. But,
> still
> > we need to come up with the least possible footprint. And I guess KSOAP,
> > with some extra coding, is a good option for that (Just 53KB).
> >
> > -Arvind.
> >
> >
> > -----Original Message-----
> > From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> > Sent: Monday, May 08, 2006 9:39 PM
> > To: axis-user@ws.apache.org
> > Subject: Re: Minimal SOAP Client footprint
> >
> > Do you mean you want to use Axis from within an applet or JavaWebStart
> > application?
> >
> > You might be able to reduce the footprint in 300-400kBytes, but I am
> > afraid you won't be able to put all in just 1MB.
> >
> > Perhaps you should change the approach. If you are using Java5, you may
> > give a look at the Pack200 compression support:
> >
> >
> http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack20
> > 0.html
> >
> > This format provides better compression than the default jar, and maybe
> > it is the only way to achieve such a small footprint.
> >
> > Anyway, I would relax your 1MB threshold, as it is too restrictive for
> Axis.
> >
> > Hope this helps,
> > Rodrigo
> >
> > Arvind Chaudhary wrote:
> > > We need to distribute it to the users over internet. So I consider
> > anything
> > > more then one MB as heavy.
> > >
> > > As for exceptions, I don't see them anywhere. The sample is a swing
> > > application. May be I am missing some property settings somewhere.
> > Couldn't
> > > find any settings related stuff in the docs.
> > >
> > > -Arvind.
> > >
> > > -----Original Message-----
> > > From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> > > Sent: Monday, May 08, 2006 8:58 PM
> > > To: axis-user@ws.apache.org
> > > Subject: Re: Minimal SOAP Client footprint
> > >
> > > BTW, where do you need to deploy your client? 2.48MB are usually
> > > considered to be very lightweight in java.
> > >
> > > Cheers,
> > > Rodrigo
> > >
> > > Arvind Chaudhary wrote:
> > >> Rodrigo,
> > >>
> > >> Thanks, for your inputs. I could remove
> backport-util-concurrent-2.1.jar,
> > >> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
> > >>
> > >> So the files reduce to 14 totaling 2.48MB. That's still too big for a
> > > simple
> > >> client! I think it can be reduced further, at least the commons and the
> > >> logging part. I don't see the logging and Commons http client used
> > > directly
> > >> in the sample code.
> > >>
> > >> axiom-api-1.0.jar
> > >> axiom-impl-1.0.jar
> > >> axis2-kernel-1.0.jar
> > >> commons-codec-1.3.jar
> > >> commons-fileupload-1.0.jar
> > >> commons-httpclient-3.0.jar
> > >> commons-logging-1.0.4.jar
> > >> log4j-1.2.13.jar
> > >> neethi-1.0.1.jar
> > >> stax-api-1.0.jar
> > >> stax-utils-20060501.jar
> > >> wsdl4j-1.5.2.jar
> > >> wstx-asl-2.9.3.jar
> > >> XmlSchema-1.0.2.jar
> > >>
> > >> The sample does not work without commons-fileupload-1.0.jar and
> > >> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the
> Google
> > >> Web API for the search.
> > >>
> > >> Here is the code from the sample
> > > "sample.google.search.AsynchronousClient":
> > >>         URL url = null;
> > >>         try {
> > >>             url = new URL("http", "api.google.com", "/search/beta2");
> > >>         } catch (MalformedURLException e) {
> > >>             e.printStackTrace();
> > >>             System.exit(0);
> > >>         }
> > >>
> > >>         Options options = new Options();
> > >>
> > >>
> > >
> >
> options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
> > >>         options.setTo(new EndpointReference(url.toString()));
> > >>
> > >>         MessageContext requestContext =
> > > ClientUtil.getMessageContext(this);
> > >>         try {
> > >>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> > >>             QName opName = new QName("urn:GoogleSearch",
> > > "doGoogleSearch");
> > >>             AxisOperation opdesc = new OutInAxisOperation();
> > >>             opdesc.setName(opName);
> > >>             ServiceClient serviceClient = new ServiceClient();
> > >>             serviceClient.setOptions(options);
> > >>             OperationClient opClient =
> > >> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
> > >>             opClient.addMessageContext(requestContext);
> > >>             opClient.setCallback(new ClientCallbackHandler(this.gui));
> > >>             opClient.execute(false);
> > >>
> > >>         } catch (AxisFault e1) {
> > >>             e1.printStackTrace();
> > >>         }
> > >>
> > >>
> > >>
> > >> Regards
> > >> Arvind.
> > >>
> > >> -----Original Message-----
> > >> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> > >> Sent: Monday, May 08, 2006 6:24 PM
> > >> To: axis-user@ws.apache.org
> > >> Subject: Re: Minimal SOAP Client footprint
> > >>
> > >> Arvind,
> > >>
> > >> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
> > >>
> > >> As Dims states, "commons-fileupload-1.0.jar" should be removable if
> your
> > >> client does not "post" files to any web page. I am not sure, but the
> > >> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
> > > support.
> > >> If you are talking about a runtime environment, libraries regarding
> code
> > >> generation might be also removed. If this is your case, you may be able
> > >> to remove "annogen-0.1.0.jar".
> > >>
> > >> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> > >> dependency on it. Jaxen should be needed only for complex XPath
> queries,
> > >> so you might be able to remove both jars.
> > >>
> > >> For simple clients, JMS support should not be needed, so
> > >> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> > >> the list.
> > >>
> > >> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> > >> Ideally, these classes should be optional, as in simple cases, this
> > >> specification will not be used. Perhaps some in the list can confirm
> > this.
> > >>
> > >>
> > >> The dependencies that you get by JarAnalyzer may be "soft"
> dependencies.
> > >> They may refer to implementation classes that can be replaced by other
> > >> ones through System properties. Can anybody confirm this? If this is
> > >> correct, some wisely selected property definitions in the command line
> > >> should remove several of these dependencies, and help to get a smaller
> > >> footprint.
> > >>
> > >> I personally think that some of these dependencies should be considered
> > >> as bugs. Either at code level, or at documentation level, as it is hard
> > >> to find information about how to replace/remove them.
> > >>
> > >> Regards,
> > >> Rodrigo
> > >>
> > >>
> > >> Arvind Chaudhary wrote:
> > >>> Dims,
> > >>>
> > >>> I tried, and this is the smallest number that it works on. I have also
> > >>> generated a dependency list. I am embedding in the mails. Don't know
> if
> > >>> attachments are allowed in this forum.
> > >>>
> > >>> -Arvind
> > >>>
> > >>>
> > >>>
> > >> --
> > >> -------------------------------------------------------------------
> > >> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> > >> Parc Bit - Son Espanyol
> > >> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> > >> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> > >> http://www.gridsystems.com
> > >> -------------------------------------------------------------------
> > >>
> > >>
> > >> --
> > >> No virus found in this outgoing message.
> > >> Checked by AVG Free Edition.
> > >> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date:
> 05/05/2006
> > >>
> > >>
> > >>
> > >>
> > >
> > > --
> > > -------------------------------------------------------------------
> > > GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> > > Parc Bit - Son Espanyol
> > > 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> > > Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> > > http://www.gridsystems.com
> > > -------------------------------------------------------------------
> > >
> > >
> > > --
> > > No virus found in this outgoing message.
> > > Checked by AVG Free Edition.
> > > Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date:
> 05/05/2006
> > >
> > >
> > >
> > >
> >
> > --
> > -------------------------------------------------------------------
> > GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> > Parc Bit - Son Espanyol
> > 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> > Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> > http://www.gridsystems.com
> > -------------------------------------------------------------------
> >
> >
> > --
> > No virus found in this outgoing message.
> > Checked by AVG Free Edition.
> > Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> >
> >
> >
>
>
> --
> Davanum Srinivas : http://wso2.com/blogs/
>
>


--
Davanum Srinivas : http://wso2.com/blogs/

RE: Minimal SOAP Client footprint

Posted by Arvind Chaudhary <ca...@techmahindra.com>.
Dims,

I tried, and it doesn't work. But I don't even get the exceptions. May I am
missing some configuration settings.
I would try to debug it with eclipse, to find where the dependency is, when
I get some time for that.

-Arvind.

-----Original Message-----
From: Davanum Srinivas [mailto:davanum@gmail.com] 
Sent: Monday, May 08, 2006 11:13 PM
To: axis-user@ws.apache.org; carvind@techmahindra.com
Subject: Re: Minimal SOAP Client footprint

Arvind,

don't give up so easily :) everything is structured to give u the
smallest footprint. Please log a bug report after incorporating all
the suggestions in this thread.

Example: Did you try removing stax-utils and fileupload jars? and use
just the other ones?

As i mentioned before, try removing one jar each by hand and re-try
the client. When you get to the point that removing any more jar has a
problem, we need that list to start with. As Rodrigo mentioned don't
use JarAnalyzer.

Thanks,
dims

On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
> Rodrigo,
>
> Yeah, you guessed it rightly. It would be a webstart application.
>
> I am realizing that Axis is not designed for small footprint clients. The
> focus is on the sever side providing REST like model. At the first look,
we
> thought it to be a good alternative considering it the latest and the
> greatest. But, I see, the jar structure still needs to be improved upon
for
> a small client footprint.
>
> Yeah, pack200 is great for reducing size. We would be using that. But,
still
> we need to come up with the least possible footprint. And I guess KSOAP,
> with some extra coding, is a good option for that (Just 53KB).
>
> -Arvind.
>
>
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> Sent: Monday, May 08, 2006 9:39 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
>
> Do you mean you want to use Axis from within an applet or JavaWebStart
> application?
>
> You might be able to reduce the footprint in 300-400kBytes, but I am
> afraid you won't be able to put all in just 1MB.
>
> Perhaps you should change the approach. If you are using Java5, you may
> give a look at the Pack200 compression support:
>
>
http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack20
> 0.html
>
> This format provides better compression than the default jar, and maybe
> it is the only way to achieve such a small footprint.
>
> Anyway, I would relax your 1MB threshold, as it is too restrictive for
Axis.
>
> Hope this helps,
> Rodrigo
>
> Arvind Chaudhary wrote:
> > We need to distribute it to the users over internet. So I consider
> anything
> > more then one MB as heavy.
> >
> > As for exceptions, I don't see them anywhere. The sample is a swing
> > application. May be I am missing some property settings somewhere.
> Couldn't
> > find any settings related stuff in the docs.
> >
> > -Arvind.
> >
> > -----Original Message-----
> > From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> > Sent: Monday, May 08, 2006 8:58 PM
> > To: axis-user@ws.apache.org
> > Subject: Re: Minimal SOAP Client footprint
> >
> > BTW, where do you need to deploy your client? 2.48MB are usually
> > considered to be very lightweight in java.
> >
> > Cheers,
> > Rodrigo
> >
> > Arvind Chaudhary wrote:
> >> Rodrigo,
> >>
> >> Thanks, for your inputs. I could remove
backport-util-concurrent-2.1.jar,
> >> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
> >>
> >> So the files reduce to 14 totaling 2.48MB. That's still too big for a
> > simple
> >> client! I think it can be reduced further, at least the commons and the
> >> logging part. I don't see the logging and Commons http client used
> > directly
> >> in the sample code.
> >>
> >> axiom-api-1.0.jar
> >> axiom-impl-1.0.jar
> >> axis2-kernel-1.0.jar
> >> commons-codec-1.3.jar
> >> commons-fileupload-1.0.jar
> >> commons-httpclient-3.0.jar
> >> commons-logging-1.0.4.jar
> >> log4j-1.2.13.jar
> >> neethi-1.0.1.jar
> >> stax-api-1.0.jar
> >> stax-utils-20060501.jar
> >> wsdl4j-1.5.2.jar
> >> wstx-asl-2.9.3.jar
> >> XmlSchema-1.0.2.jar
> >>
> >> The sample does not work without commons-fileupload-1.0.jar and
> >> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the
Google
> >> Web API for the search.
> >>
> >> Here is the code from the sample
> > "sample.google.search.AsynchronousClient":
> >>         URL url = null;
> >>         try {
> >>             url = new URL("http", "api.google.com", "/search/beta2");
> >>         } catch (MalformedURLException e) {
> >>             e.printStackTrace();
> >>             System.exit(0);
> >>         }
> >>
> >>         Options options = new Options();
> >>
> >>
> >
>
options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
> >>         options.setTo(new EndpointReference(url.toString()));
> >>
> >>         MessageContext requestContext =
> > ClientUtil.getMessageContext(this);
> >>         try {
> >>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> >>             QName opName = new QName("urn:GoogleSearch",
> > "doGoogleSearch");
> >>             AxisOperation opdesc = new OutInAxisOperation();
> >>             opdesc.setName(opName);
> >>             ServiceClient serviceClient = new ServiceClient();
> >>             serviceClient.setOptions(options);
> >>             OperationClient opClient =
> >> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
> >>             opClient.addMessageContext(requestContext);
> >>             opClient.setCallback(new ClientCallbackHandler(this.gui));
> >>             opClient.execute(false);
> >>
> >>         } catch (AxisFault e1) {
> >>             e1.printStackTrace();
> >>         }
> >>
> >>
> >>
> >> Regards
> >> Arvind.
> >>
> >> -----Original Message-----
> >> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> >> Sent: Monday, May 08, 2006 6:24 PM
> >> To: axis-user@ws.apache.org
> >> Subject: Re: Minimal SOAP Client footprint
> >>
> >> Arvind,
> >>
> >> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
> >>
> >> As Dims states, "commons-fileupload-1.0.jar" should be removable if
your
> >> client does not "post" files to any web page. I am not sure, but the
> >> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
> > support.
> >> If you are talking about a runtime environment, libraries regarding
code
> >> generation might be also removed. If this is your case, you may be able
> >> to remove "annogen-0.1.0.jar".
> >>
> >> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> >> dependency on it. Jaxen should be needed only for complex XPath
queries,
> >> so you might be able to remove both jars.
> >>
> >> For simple clients, JMS support should not be needed, so
> >> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> >> the list.
> >>
> >> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> >> Ideally, these classes should be optional, as in simple cases, this
> >> specification will not be used. Perhaps some in the list can confirm
> this.
> >>
> >>
> >> The dependencies that you get by JarAnalyzer may be "soft"
dependencies.
> >> They may refer to implementation classes that can be replaced by other
> >> ones through System properties. Can anybody confirm this? If this is
> >> correct, some wisely selected property definitions in the command line
> >> should remove several of these dependencies, and help to get a smaller
> >> footprint.
> >>
> >> I personally think that some of these dependencies should be considered
> >> as bugs. Either at code level, or at documentation level, as it is hard
> >> to find information about how to replace/remove them.
> >>
> >> Regards,
> >> Rodrigo
> >>
> >>
> >> Arvind Chaudhary wrote:
> >>> Dims,
> >>>
> >>> I tried, and this is the smallest number that it works on. I have also
> >>> generated a dependency list. I am embedding in the mails. Don't know
if
> >>> attachments are allowed in this forum.
> >>>
> >>> -Arvind
> >>>
> >>>
> >>>
> >> --
> >> -------------------------------------------------------------------
> >> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> >> Parc Bit - Son Espanyol
> >> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> >> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> >> http://www.gridsystems.com
> >> -------------------------------------------------------------------
> >>
> >>
> >> --
> >> No virus found in this outgoing message.
> >> Checked by AVG Free Edition.
> >> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date:
05/05/2006
> >>
> >>
> >>
> >>
> >
> > --
> > -------------------------------------------------------------------
> > GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> > Parc Bit - Son Espanyol
> > 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> > Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> > http://www.gridsystems.com
> > -------------------------------------------------------------------
> >
> >
> > --
> > No virus found in this outgoing message.
> > Checked by AVG Free Edition.
> > Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date:
05/05/2006
> >
> >
> >
> >
>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>
>
>


--
Davanum Srinivas : http://wso2.com/blogs/


Re: Minimal SOAP Client footprint

Posted by Davanum Srinivas <da...@gmail.com>.
Arvind,

don't give up so easily :) everything is structured to give u the
smallest footprint. Please log a bug report after incorporating all
the suggestions in this thread.

Example: Did you try removing stax-utils and fileupload jars? and use
just the other ones?

As i mentioned before, try removing one jar each by hand and re-try
the client. When you get to the point that removing any more jar has a
problem, we need that list to start with. As Rodrigo mentioned don't
use JarAnalyzer.

Thanks,
dims

On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
> Rodrigo,
>
> Yeah, you guessed it rightly. It would be a webstart application.
>
> I am realizing that Axis is not designed for small footprint clients. The
> focus is on the sever side providing REST like model. At the first look, we
> thought it to be a good alternative considering it the latest and the
> greatest. But, I see, the jar structure still needs to be improved upon for
> a small client footprint.
>
> Yeah, pack200 is great for reducing size. We would be using that. But, still
> we need to come up with the least possible footprint. And I guess KSOAP,
> with some extra coding, is a good option for that (Just 53KB).
>
> -Arvind.
>
>
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> Sent: Monday, May 08, 2006 9:39 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
>
> Do you mean you want to use Axis from within an applet or JavaWebStart
> application?
>
> You might be able to reduce the footprint in 300-400kBytes, but I am
> afraid you won't be able to put all in just 1MB.
>
> Perhaps you should change the approach. If you are using Java5, you may
> give a look at the Pack200 compression support:
>
> http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack20
> 0.html
>
> This format provides better compression than the default jar, and maybe
> it is the only way to achieve such a small footprint.
>
> Anyway, I would relax your 1MB threshold, as it is too restrictive for Axis.
>
> Hope this helps,
> Rodrigo
>
> Arvind Chaudhary wrote:
> > We need to distribute it to the users over internet. So I consider
> anything
> > more then one MB as heavy.
> >
> > As for exceptions, I don't see them anywhere. The sample is a swing
> > application. May be I am missing some property settings somewhere.
> Couldn't
> > find any settings related stuff in the docs.
> >
> > -Arvind.
> >
> > -----Original Message-----
> > From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> > Sent: Monday, May 08, 2006 8:58 PM
> > To: axis-user@ws.apache.org
> > Subject: Re: Minimal SOAP Client footprint
> >
> > BTW, where do you need to deploy your client? 2.48MB are usually
> > considered to be very lightweight in java.
> >
> > Cheers,
> > Rodrigo
> >
> > Arvind Chaudhary wrote:
> >> Rodrigo,
> >>
> >> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
> >> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
> >>
> >> So the files reduce to 14 totaling 2.48MB. That's still too big for a
> > simple
> >> client! I think it can be reduced further, at least the commons and the
> >> logging part. I don't see the logging and Commons http client used
> > directly
> >> in the sample code.
> >>
> >> axiom-api-1.0.jar
> >> axiom-impl-1.0.jar
> >> axis2-kernel-1.0.jar
> >> commons-codec-1.3.jar
> >> commons-fileupload-1.0.jar
> >> commons-httpclient-3.0.jar
> >> commons-logging-1.0.4.jar
> >> log4j-1.2.13.jar
> >> neethi-1.0.1.jar
> >> stax-api-1.0.jar
> >> stax-utils-20060501.jar
> >> wsdl4j-1.5.2.jar
> >> wstx-asl-2.9.3.jar
> >> XmlSchema-1.0.2.jar
> >>
> >> The sample does not work without commons-fileupload-1.0.jar and
> >> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
> >> Web API for the search.
> >>
> >> Here is the code from the sample
> > "sample.google.search.AsynchronousClient":
> >>         URL url = null;
> >>         try {
> >>             url = new URL("http", "api.google.com", "/search/beta2");
> >>         } catch (MalformedURLException e) {
> >>             e.printStackTrace();
> >>             System.exit(0);
> >>         }
> >>
> >>         Options options = new Options();
> >>
> >>
> >
> options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
> >>         options.setTo(new EndpointReference(url.toString()));
> >>
> >>         MessageContext requestContext =
> > ClientUtil.getMessageContext(this);
> >>         try {
> >>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
> >>             QName opName = new QName("urn:GoogleSearch",
> > "doGoogleSearch");
> >>             AxisOperation opdesc = new OutInAxisOperation();
> >>             opdesc.setName(opName);
> >>             ServiceClient serviceClient = new ServiceClient();
> >>             serviceClient.setOptions(options);
> >>             OperationClient opClient =
> >> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
> >>             opClient.addMessageContext(requestContext);
> >>             opClient.setCallback(new ClientCallbackHandler(this.gui));
> >>             opClient.execute(false);
> >>
> >>         } catch (AxisFault e1) {
> >>             e1.printStackTrace();
> >>         }
> >>
> >>
> >>
> >> Regards
> >> Arvind.
> >>
> >> -----Original Message-----
> >> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> >> Sent: Monday, May 08, 2006 6:24 PM
> >> To: axis-user@ws.apache.org
> >> Subject: Re: Minimal SOAP Client footprint
> >>
> >> Arvind,
> >>
> >> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
> >>
> >> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
> >> client does not "post" files to any web page. I am not sure, but the
> >> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
> > support.
> >> If you are talking about a runtime environment, libraries regarding code
> >> generation might be also removed. If this is your case, you may be able
> >> to remove "annogen-0.1.0.jar".
> >>
> >> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> >> dependency on it. Jaxen should be needed only for complex XPath queries,
> >> so you might be able to remove both jars.
> >>
> >> For simple clients, JMS support should not be needed, so
> >> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> >> the list.
> >>
> >> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> >> Ideally, these classes should be optional, as in simple cases, this
> >> specification will not be used. Perhaps some in the list can confirm
> this.
> >>
> >>
> >> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
> >> They may refer to implementation classes that can be replaced by other
> >> ones through System properties. Can anybody confirm this? If this is
> >> correct, some wisely selected property definitions in the command line
> >> should remove several of these dependencies, and help to get a smaller
> >> footprint.
> >>
> >> I personally think that some of these dependencies should be considered
> >> as bugs. Either at code level, or at documentation level, as it is hard
> >> to find information about how to replace/remove them.
> >>
> >> Regards,
> >> Rodrigo
> >>
> >>
> >> Arvind Chaudhary wrote:
> >>> Dims,
> >>>
> >>> I tried, and this is the smallest number that it works on. I have also
> >>> generated a dependency list. I am embedding in the mails. Don't know if
> >>> attachments are allowed in this forum.
> >>>
> >>> -Arvind
> >>>
> >>>
> >>>
> >> --
> >> -------------------------------------------------------------------
> >> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> >> Parc Bit - Son Espanyol
> >> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> >> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> >> http://www.gridsystems.com
> >> -------------------------------------------------------------------
> >>
> >>
> >> --
> >> No virus found in this outgoing message.
> >> Checked by AVG Free Edition.
> >> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> >>
> >>
> >>
> >>
> >
> > --
> > -------------------------------------------------------------------
> > GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> > Parc Bit - Son Espanyol
> > 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> > Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> > http://www.gridsystems.com
> > -------------------------------------------------------------------
> >
> >
> > --
> > No virus found in this outgoing message.
> > Checked by AVG Free Edition.
> > Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> >
> >
> >
> >
>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>
>
>


--
Davanum Srinivas : http://wso2.com/blogs/

RE: Minimal SOAP Client footprint

Posted by Arvind Chaudhary <ca...@techmahindra.com>.
Rodrigo,

Yeah, you guessed it rightly. It would be a webstart application.

I am realizing that Axis is not designed for small footprint clients. The
focus is on the sever side providing REST like model. At the first look, we
thought it to be a good alternative considering it the latest and the
greatest. But, I see, the jar structure still needs to be improved upon for
a small client footprint. 

Yeah, pack200 is great for reducing size. We would be using that. But, still
we need to come up with the least possible footprint. And I guess KSOAP,
with some extra coding, is a good option for that (Just 53KB). 

-Arvind.
 

-----Original Message-----
From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com] 
Sent: Monday, May 08, 2006 9:39 PM
To: axis-user@ws.apache.org
Subject: Re: Minimal SOAP Client footprint

Do you mean you want to use Axis from within an applet or JavaWebStart
application?

You might be able to reduce the footprint in 300-400kBytes, but I am
afraid you won't be able to put all in just 1MB.

Perhaps you should change the approach. If you are using Java5, you may
give a look at the Pack200 compression support:

http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack20
0.html

This format provides better compression than the default jar, and maybe
it is the only way to achieve such a small footprint.

Anyway, I would relax your 1MB threshold, as it is too restrictive for Axis.

Hope this helps,
Rodrigo

Arvind Chaudhary wrote:
> We need to distribute it to the users over internet. So I consider
anything
> more then one MB as heavy.
>
> As for exceptions, I don't see them anywhere. The sample is a swing
> application. May be I am missing some property settings somewhere.
Couldn't
> find any settings related stuff in the docs.
>
> -Arvind.
>
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> Sent: Monday, May 08, 2006 8:58 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
>
> BTW, where do you need to deploy your client? 2.48MB are usually
> considered to be very lightweight in java.
>
> Cheers,
> Rodrigo
>
> Arvind Chaudhary wrote:
>> Rodrigo,
>>
>> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
>> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
>>
>> So the files reduce to 14 totaling 2.48MB. That’s still too big for a
> simple
>> client! I think it can be reduced further, at least the commons and the
>> logging part. I don’t see the logging and Commons http client used
> directly
>> in the sample code.
>>
>> axiom-api-1.0.jar
>> axiom-impl-1.0.jar
>> axis2-kernel-1.0.jar
>> commons-codec-1.3.jar
>> commons-fileupload-1.0.jar
>> commons-httpclient-3.0.jar
>> commons-logging-1.0.4.jar
>> log4j-1.2.13.jar
>> neethi-1.0.1.jar
>> stax-api-1.0.jar
>> stax-utils-20060501.jar
>> wsdl4j-1.5.2.jar
>> wstx-asl-2.9.3.jar
>> XmlSchema-1.0.2.jar
>>
>> The sample does not work without commons-fileupload-1.0.jar and
>> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
>> Web API for the search.
>>
>> Here is the code from the sample
> "sample.google.search.AsynchronousClient":
>>         URL url = null;
>>         try {
>>             url = new URL("http", "api.google.com", "/search/beta2");
>>         } catch (MalformedURLException e) {
>>             e.printStackTrace();
>>             System.exit(0);
>>         }
>>
>>         Options options = new Options();
>>
>>
>
options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
>>         options.setTo(new EndpointReference(url.toString()));
>>
>>         MessageContext requestContext =
> ClientUtil.getMessageContext(this);
>>         try {
>>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>>             QName opName = new QName("urn:GoogleSearch",
> "doGoogleSearch");
>>             AxisOperation opdesc = new OutInAxisOperation();
>>             opdesc.setName(opName);
>>             ServiceClient serviceClient = new ServiceClient();
>>             serviceClient.setOptions(options);
>>             OperationClient opClient =
>> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>>             opClient.addMessageContext(requestContext);
>>             opClient.setCallback(new ClientCallbackHandler(this.gui));
>>             opClient.execute(false);
>>
>>         } catch (AxisFault e1) {
>>             e1.printStackTrace();
>>         }
>>
>>
>>
>> Regards
>> Arvind.
>>
>> -----Original Message-----
>> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
>> Sent: Monday, May 08, 2006 6:24 PM
>> To: axis-user@ws.apache.org
>> Subject: Re: Minimal SOAP Client footprint
>>
>> Arvind,
>>
>> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
>>
>> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
>> client does not "post" files to any web page. I am not sure, but the
>> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
> support.
>> If you are talking about a runtime environment, libraries regarding code
>> generation might be also removed. If this is your case, you may be able
>> to remove "annogen-0.1.0.jar".
>>
>> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
>> dependency on it. Jaxen should be needed only for complex XPath queries,
>> so you might be able to remove both jars.
>>
>> For simple clients, JMS support should not be needed, so
>> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
>> the list.
>>
>> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
>> Ideally, these classes should be optional, as in simple cases, this
>> specification will not be used. Perhaps some in the list can confirm
this.
>>
>>
>> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
>> They may refer to implementation classes that can be replaced by other
>> ones through System properties. Can anybody confirm this? If this is
>> correct, some wisely selected property definitions in the command line
>> should remove several of these dependencies, and help to get a smaller
>> footprint.
>>
>> I personally think that some of these dependencies should be considered
>> as bugs. Either at code level, or at documentation level, as it is hard
>> to find information about how to replace/remove them.
>>
>> Regards,
>> Rodrigo
>>
>>
>> Arvind Chaudhary wrote:
>>> Dims,
>>>
>>> I tried, and this is the smallest number that it works on. I have also
>>> generated a dependency list. I am embedding in the mails. Don't know if
>>> attachments are allowed in this forum.
>>>
>>> -Arvind
>>>
>>>
>>>
>> --
>> -------------------------------------------------------------------
>> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
>> Parc Bit - Son Espanyol
>> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
>> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
>> http://www.gridsystems.com
>> -------------------------------------------------------------------
>>
>>
>> --
>> No virus found in this outgoing message.
>> Checked by AVG Free Edition.
>> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>>
>>
>>
>>
>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>
>
>
>

--
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006



Re: Minimal SOAP Client footprint

Posted by Rodrigo Ruiz <rr...@gridsystems.com>.
Do you mean you want to use Axis from within an applet or JavaWebStart 
application?

You might be able to reduce the footprint in 300-400kBytes, but I am 
afraid you won't be able to put all in just 1MB.

Perhaps you should change the approach. If you are using Java5, you may 
give a look at the Pack200 compression support:

http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html

This format provides better compression than the default jar, and maybe 
it is the only way to achieve such a small footprint.

Anyway, I would relax your 1MB threshold, as it is too restrictive for Axis.

Hope this helps,
Rodrigo

Arvind Chaudhary wrote:
> We need to distribute it to the users over internet. So I consider anything
> more then one MB as heavy.
> 
> As for exceptions, I don't see them anywhere. The sample is a swing
> application. May be I am missing some property settings somewhere. Couldn't
> find any settings related stuff in the docs.
> 
> -Arvind.
> 
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com] 
> Sent: Monday, May 08, 2006 8:58 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
> 
> BTW, where do you need to deploy your client? 2.48MB are usually
> considered to be very lightweight in java.
> 
> Cheers,
> Rodrigo
> 
> Arvind Chaudhary wrote:
>> Rodrigo,
>>
>> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
>> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
>>
>> So the files reduce to 14 totaling 2.48MB. That’s still too big for a
> simple
>> client! I think it can be reduced further, at least the commons and the
>> logging part. I don’t see the logging and Commons http client used
> directly
>> in the sample code.
>>
>> axiom-api-1.0.jar
>> axiom-impl-1.0.jar
>> axis2-kernel-1.0.jar
>> commons-codec-1.3.jar
>> commons-fileupload-1.0.jar
>> commons-httpclient-3.0.jar
>> commons-logging-1.0.4.jar
>> log4j-1.2.13.jar
>> neethi-1.0.1.jar
>> stax-api-1.0.jar
>> stax-utils-20060501.jar
>> wsdl4j-1.5.2.jar
>> wstx-asl-2.9.3.jar
>> XmlSchema-1.0.2.jar
>>
>> The sample does not work without commons-fileupload-1.0.jar and
>> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
>> Web API for the search.
>>
>> Here is the code from the sample
> "sample.google.search.AsynchronousClient":
>>         URL url = null;
>>         try {
>>             url = new URL("http", "api.google.com", "/search/beta2");
>>         } catch (MalformedURLException e) {
>>             e.printStackTrace();
>>             System.exit(0);
>>         }
>>
>>         Options options = new Options();
>>
>>
> options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
>>         options.setTo(new EndpointReference(url.toString()));
>>
>>         MessageContext requestContext =
> ClientUtil.getMessageContext(this);
>>         try {
>>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>>             QName opName = new QName("urn:GoogleSearch",
> "doGoogleSearch");
>>             AxisOperation opdesc = new OutInAxisOperation();
>>             opdesc.setName(opName);
>>             ServiceClient serviceClient = new ServiceClient();
>>             serviceClient.setOptions(options);
>>             OperationClient opClient =
>> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>>             opClient.addMessageContext(requestContext);
>>             opClient.setCallback(new ClientCallbackHandler(this.gui));
>>             opClient.execute(false);
>>
>>         } catch (AxisFault e1) {
>>             e1.printStackTrace();
>>         }
>>
>>
>>
>> Regards
>> Arvind.
>>
>> -----Original Message-----
>> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
>> Sent: Monday, May 08, 2006 6:24 PM
>> To: axis-user@ws.apache.org
>> Subject: Re: Minimal SOAP Client footprint
>>
>> Arvind,
>>
>> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
>>
>> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
>> client does not "post" files to any web page. I am not sure, but the
>> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
> support.
>> If you are talking about a runtime environment, libraries regarding code
>> generation might be also removed. If this is your case, you may be able
>> to remove "annogen-0.1.0.jar".
>>
>> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
>> dependency on it. Jaxen should be needed only for complex XPath queries,
>> so you might be able to remove both jars.
>>
>> For simple clients, JMS support should not be needed, so
>> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
>> the list.
>>
>> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
>> Ideally, these classes should be optional, as in simple cases, this
>> specification will not be used. Perhaps some in the list can confirm this.
>>
>>
>> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
>> They may refer to implementation classes that can be replaced by other
>> ones through System properties. Can anybody confirm this? If this is
>> correct, some wisely selected property definitions in the command line
>> should remove several of these dependencies, and help to get a smaller
>> footprint.
>>
>> I personally think that some of these dependencies should be considered
>> as bugs. Either at code level, or at documentation level, as it is hard
>> to find information about how to replace/remove them.
>>
>> Regards,
>> Rodrigo
>>
>>
>> Arvind Chaudhary wrote:
>>> Dims,
>>>
>>> I tried, and this is the smallest number that it works on. I have also
>>> generated a dependency list. I am embedding in the mails. Don't know if
>>> attachments are allowed in this forum.
>>>
>>> -Arvind
>>>
>>>
>>>
>> --
>> -------------------------------------------------------------------
>> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
>> Parc Bit - Son Espanyol
>> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
>> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
>> http://www.gridsystems.com
>> -------------------------------------------------------------------
>>
>>
>> --
>> No virus found in this outgoing message.
>> Checked by AVG Free Edition.
>> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>>
>>
>>
>>
> 
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
> 
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> 
> 
> 
> 

-- 
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006


RE: Minimal SOAP Client footprint

Posted by Arvind Chaudhary <ca...@techmahindra.com>.
We need to distribute it to the users over internet. So I consider anything
more then one MB as heavy.

As for exceptions, I don't see them anywhere. The sample is a swing
application. May be I am missing some property settings somewhere. Couldn't
find any settings related stuff in the docs.

-Arvind.

-----Original Message-----
From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com] 
Sent: Monday, May 08, 2006 8:58 PM
To: axis-user@ws.apache.org
Subject: Re: Minimal SOAP Client footprint

BTW, where do you need to deploy your client? 2.48MB are usually
considered to be very lightweight in java.

Cheers,
Rodrigo

Arvind Chaudhary wrote:
> Rodrigo,
>
> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar.
>
> So the files reduce to 14 totaling 2.48MB. That’s still too big for a
simple
> client! I think it can be reduced further, at least the commons and the
> logging part. I don’t see the logging and Commons http client used
directly
> in the sample code.
>
> axiom-api-1.0.jar
> axiom-impl-1.0.jar
> axis2-kernel-1.0.jar
> commons-codec-1.3.jar
> commons-fileupload-1.0.jar
> commons-httpclient-3.0.jar
> commons-logging-1.0.4.jar
> log4j-1.2.13.jar
> neethi-1.0.1.jar
> stax-api-1.0.jar
> stax-utils-20060501.jar
> wsdl4j-1.5.2.jar
> wstx-asl-2.9.3.jar
> XmlSchema-1.0.2.jar
>
> The sample does not work without commons-fileupload-1.0.jar and
> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
> Web API for the search.
>
> Here is the code from the sample
"sample.google.search.AsynchronousClient":
>
>         URL url = null;
>         try {
>             url = new URL("http", "api.google.com", "/search/beta2");
>         } catch (MalformedURLException e) {
>             e.printStackTrace();
>             System.exit(0);
>         }
>
>         Options options = new Options();
>
>
options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
>         options.setTo(new EndpointReference(url.toString()));
>
>         MessageContext requestContext =
ClientUtil.getMessageContext(this);
>         try {
>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>             QName opName = new QName("urn:GoogleSearch",
"doGoogleSearch");
>             AxisOperation opdesc = new OutInAxisOperation();
>             opdesc.setName(opName);
>             ServiceClient serviceClient = new ServiceClient();
>             serviceClient.setOptions(options);
>             OperationClient opClient =
> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>             opClient.addMessageContext(requestContext);
>             opClient.setCallback(new ClientCallbackHandler(this.gui));
>             opClient.execute(false);
>
>         } catch (AxisFault e1) {
>             e1.printStackTrace();
>         }
>
>
>
> Regards
> Arvind.
>
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com]
> Sent: Monday, May 08, 2006 6:24 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
>
> Arvind,
>
> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
>
> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
> client does not "post" files to any web page. I am not sure, but the
> dependency from "axis2-kernel-1.0.jar" is probably due to the REST
support.
>
> If you are talking about a runtime environment, libraries regarding code
> generation might be also removed. If this is your case, you may be able
> to remove "annogen-0.1.0.jar".
>
> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> dependency on it. Jaxen should be needed only for complex XPath queries,
> so you might be able to remove both jars.
>
> For simple clients, JMS support should not be needed, so
> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> the list.
>
> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> Ideally, these classes should be optional, as in simple cases, this
> specification will not be used. Perhaps some in the list can confirm this.
>
>
> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
> They may refer to implementation classes that can be replaced by other
> ones through System properties. Can anybody confirm this? If this is
> correct, some wisely selected property definitions in the command line
> should remove several of these dependencies, and help to get a smaller
> footprint.
>
> I personally think that some of these dependencies should be considered
> as bugs. Either at code level, or at documentation level, as it is hard
> to find information about how to replace/remove them.
>
> Regards,
> Rodrigo
>
>
> Arvind Chaudhary wrote:
>> Dims,
>>
>> I tried, and this is the smallest number that it works on. I have also
>> generated a dependency list. I am embedding in the mails. Don't know if
>> attachments are allowed in this forum.
>>
>> -Arvind
>>
>>
>>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
>
>
>
>

--
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006



Re: Minimal SOAP Client footprint

Posted by Rodrigo Ruiz <rr...@gridsystems.com>.
BTW, where do you need to deploy your client? 2.48MB are usually 
considered to be very lightweight in java.

Cheers,
Rodrigo

Arvind Chaudhary wrote:
> Rodrigo,
> 
> Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
> annogen-0.1.0.jar and jaxen-1.1-beta-8.jar. 
> 
> So the files reduce to 14 totaling 2.48MB. That’s still too big for a simple
> client! I think it can be reduced further, at least the commons and the
> logging part. I don’t see the logging and Commons http client used directly
> in the sample code. 
> 
> axiom-api-1.0.jar
> axiom-impl-1.0.jar
> axis2-kernel-1.0.jar
> commons-codec-1.3.jar
> commons-fileupload-1.0.jar
> commons-httpclient-3.0.jar
> commons-logging-1.0.4.jar
> log4j-1.2.13.jar
> neethi-1.0.1.jar
> stax-api-1.0.jar
> stax-utils-20060501.jar
> wsdl4j-1.5.2.jar
> wstx-asl-2.9.3.jar
> XmlSchema-1.0.2.jar
> 
> The sample does not work without commons-fileupload-1.0.jar and
> log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
> Web API for the search.
> 
> Here is the code from the sample "sample.google.search.AsynchronousClient":
> 
>         URL url = null;
>         try {
>             url = new URL("http", "api.google.com", "/search/beta2");
>         } catch (MalformedURLException e) {
>             e.printStackTrace();
>             System.exit(0);
>         }
> 
>         Options options = new Options();
>  
> options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
>         options.setTo(new EndpointReference(url.toString()));
> 
>         MessageContext requestContext = ClientUtil.getMessageContext(this);
>         try {
>             options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>             QName opName = new QName("urn:GoogleSearch", "doGoogleSearch");
>             AxisOperation opdesc = new OutInAxisOperation();
>             opdesc.setName(opName);
>             ServiceClient serviceClient = new ServiceClient();
>             serviceClient.setOptions(options);
>             OperationClient opClient =
> serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
>             opClient.addMessageContext(requestContext);
>             opClient.setCallback(new ClientCallbackHandler(this.gui));
>             opClient.execute(false);
> 
>         } catch (AxisFault e1) {
>             e1.printStackTrace();
>         }
> 
> 
> 
> Regards
> Arvind. 
> 
> -----Original Message-----
> From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com] 
> Sent: Monday, May 08, 2006 6:24 PM
> To: axis-user@ws.apache.org
> Subject: Re: Minimal SOAP Client footprint
> 
> Arvind,
> 
> If you use java5, you may remove "backport-util-concurrent-2.1.jar".
> 
> As Dims states, "commons-fileupload-1.0.jar" should be removable if your
> client does not "post" files to any web page. I am not sure, but the
> dependency from "axis2-kernel-1.0.jar" is probably due to the REST support.
> 
> If you are talking about a runtime environment, libraries regarding code
> generation might be also removed. If this is your case, you may be able
> to remove "annogen-0.1.0.jar".
> 
> "log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
> dependency on it. Jaxen should be needed only for complex XPath queries,
> so you might be able to remove both jars.
> 
> For simple clients, JMS support should not be needed, so
> "geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
> the list.
> 
> "neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
> Ideally, these classes should be optional, as in simple cases, this
> specification will not be used. Perhaps some in the list can confirm this.
> 
> 
> The dependencies that you get by JarAnalyzer may be "soft" dependencies.
> They may refer to implementation classes that can be replaced by other
> ones through System properties. Can anybody confirm this? If this is
> correct, some wisely selected property definitions in the command line
> should remove several of these dependencies, and help to get a smaller
> footprint.
> 
> I personally think that some of these dependencies should be considered
> as bugs. Either at code level, or at documentation level, as it is hard
> to find information about how to replace/remove them.
> 
> Regards,
> Rodrigo
> 
> 
> Arvind Chaudhary wrote:
>> Dims,
>>
>> I tried, and this is the smallest number that it works on. I have also
>> generated a dependency list. I am embedding in the mails. Don't know if
>> attachments are allowed in this forum.
>>
>> -Arvind
>>
>>
>>
> --
> -------------------------------------------------------------------
> GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
> Parc Bit - Son Espanyol
> 07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
> Baleares - España              Tel:+34-971435085 Fax:+34-971435082
> http://www.gridsystems.com
> -------------------------------------------------------------------
> 
> 
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006
> 
> 
> 
> 

-- 
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006


RE: Minimal SOAP Client footprint

Posted by Arvind Chaudhary <ca...@techmahindra.com>.
Rodrigo,

Thanks, for your inputs. I could remove backport-util-concurrent-2.1.jar,
annogen-0.1.0.jar and jaxen-1.1-beta-8.jar. 

So the files reduce to 14 totaling 2.48MB. That’s still too big for a simple
client! I think it can be reduced further, at least the commons and the
logging part. I don’t see the logging and Commons http client used directly
in the sample code. 

axiom-api-1.0.jar
axiom-impl-1.0.jar
axis2-kernel-1.0.jar
commons-codec-1.3.jar
commons-fileupload-1.0.jar
commons-httpclient-3.0.jar
commons-logging-1.0.4.jar
log4j-1.2.13.jar
neethi-1.0.1.jar
stax-api-1.0.jar
stax-utils-20060501.jar
wsdl4j-1.5.2.jar
wstx-asl-2.9.3.jar
XmlSchema-1.0.2.jar

The sample does not work without commons-fileupload-1.0.jar and
log4j-1.2.13.jar. Though, it does not "POST" anything. It uses the Google
Web API for the search.

Here is the code from the sample "sample.google.search.AsynchronousClient":

        URL url = null;
        try {
            url = new URL("http", "api.google.com", "/search/beta2");
        } catch (MalformedURLException e) {
            e.printStackTrace();
            System.exit(0);
        }

        Options options = new Options();
 
options.setProperty(MessageContextConstants.CHUNKED,Constants.VALUE_FALSE);
        options.setTo(new EndpointReference(url.toString()));

        MessageContext requestContext = ClientUtil.getMessageContext(this);
        try {
            options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
            QName opName = new QName("urn:GoogleSearch", "doGoogleSearch");
            AxisOperation opdesc = new OutInAxisOperation();
            opdesc.setName(opName);
            ServiceClient serviceClient = new ServiceClient();
            serviceClient.setOptions(options);
            OperationClient opClient =
serviceClient.createClient(ServiceClient.ANON_OUT_IN_OP);
            opClient.addMessageContext(requestContext);
            opClient.setCallback(new ClientCallbackHandler(this.gui));
            opClient.execute(false);

        } catch (AxisFault e1) {
            e1.printStackTrace();
        }



Regards
Arvind. 

-----Original Message-----
From: Rodrigo Ruiz [mailto:rruiz@gridsystems.com] 
Sent: Monday, May 08, 2006 6:24 PM
To: axis-user@ws.apache.org
Subject: Re: Minimal SOAP Client footprint

Arvind,

If you use java5, you may remove "backport-util-concurrent-2.1.jar".

As Dims states, "commons-fileupload-1.0.jar" should be removable if your
client does not "post" files to any web page. I am not sure, but the
dependency from "axis2-kernel-1.0.jar" is probably due to the REST support.

If you are talking about a runtime environment, libraries regarding code
generation might be also removed. If this is your case, you may be able
to remove "annogen-0.1.0.jar".

"log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct
dependency on it. Jaxen should be needed only for complex XPath queries,
so you might be able to remove both jars.

For simple clients, JMS support should not be needed, so
"geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from
the list.

"neethi-1.0.1.jar" provides some classes needed for WS-Policy support.
Ideally, these classes should be optional, as in simple cases, this
specification will not be used. Perhaps some in the list can confirm this.


The dependencies that you get by JarAnalyzer may be "soft" dependencies.
They may refer to implementation classes that can be replaced by other
ones through System properties. Can anybody confirm this? If this is
correct, some wisely selected property definitions in the command line
should remove several of these dependencies, and help to get a smaller
footprint.

I personally think that some of these dependencies should be considered
as bugs. Either at code level, or at documentation level, as it is hard
to find information about how to replace/remove them.

Regards,
Rodrigo


Arvind Chaudhary wrote:
> Dims,
>
> I tried, and this is the smallest number that it works on. I have also
> generated a dependency list. I am embedding in the mails. Don't know if
> attachments are allowed in this forum.
>
> -Arvind
>
>
>
--
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006



Re: Minimal SOAP Client footprint

Posted by Rodrigo Ruiz <rr...@gridsystems.com>.
Arvind,

If you use java5, you may remove "backport-util-concurrent-2.1.jar".

As Dims states, "commons-fileupload-1.0.jar" should be removable if your 
client does not "post" files to any web page. I am not sure, but the 
dependency from "axis2-kernel-1.0.jar" is probably due to the REST support.

If you are talking about a runtime environment, libraries regarding code 
generation might be also removed. If this is your case, you may be able 
to remove "annogen-0.1.0.jar".

"log4j-1.2.13.jar" should be optional, but Jaxen seems to have a direct 
dependency on it. Jaxen should be needed only for complex XPath queries, 
so you might be able to remove both jars.

For simple clients, JMS support should not be needed, so 
"geronimo-spec-jms-1.1-rc4.jar" is another jar that may be removed from 
the list.

"neethi-1.0.1.jar" provides some classes needed for WS-Policy support. 
Ideally, these classes should be optional, as in simple cases, this 
specification will not be used. Perhaps some in the list can confirm this.


The dependencies that you get by JarAnalyzer may be "soft" dependencies. 
They may refer to implementation classes that can be replaced by other 
ones through System properties. Can anybody confirm this? If this is 
correct, some wisely selected property definitions in the command line 
should remove several of these dependencies, and help to get a smaller 
footprint.

I personally think that some of these dependencies should be considered 
as bugs. Either at code level, or at documentation level, as it is hard 
to find information about how to replace/remove them.

Regards,
Rodrigo


Arvind Chaudhary wrote:
> Dims,
> 
> I tried, and this is the smallest number that it works on. I have also
> generated a dependency list. I am embedding in the mails. Don't know if
> attachments are allowed in this forum.
> 
> -Arvind
> 
> 
> 
-- 
-------------------------------------------------------------------
GRIDSYSTEMS                    Rodrigo Ruiz Aguayo
Parc Bit - Son Espanyol
07120 Palma de Mallorca        mailto:rruiz@gridsystems.com
Baleares - España              Tel:+34-971435085 Fax:+34-971435082
http://www.gridsystems.com
-------------------------------------------------------------------


-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.392 / Virus Database: 268.5.5/333 - Release Date: 05/05/2006


RE: Minimal SOAP Client footprint

Posted by Arvind Chaudhary <ca...@techmahindra.com>.
Dims,

I tried, and this is the smallest number that it works on. I have also
generated a dependency list. I am embedding in the mails. Don't know if
attachments are allowed in this forum.

  <?xml version="1.0" ?> 
- <JarAnalyzer>
- <Jars>
- <Jar name="annogen-0.1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>194</ClassCount> 
  <AbstractClassCount>83</AbstractClassCount> 
  <PackageCount>24</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.43</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>2</Afferent> 
  <Instability>0.00</Instability> 
  <Distance>0.57</Distance> 
  </Metrics>
- <Packages>
  <Package>org.codehaus.annogen.generate</Package> 
  <Package>org.codehaus.annogen.generate.internal.joust</Package> 
  <Package>org.codehaus.annogen.override</Package> 
  <Package>org.codehaus.annogen.override.internal</Package> 
  <Package>org.codehaus.annogen.override.internal.jam</Package> 
  <Package>org.codehaus.annogen.override.internal.javadoc</Package> 
  <Package>org.codehaus.annogen.override.internal.reflect</Package> 
  <Package>org.codehaus.annogen.view</Package> 
  <Package>org.codehaus.annogen.view.internal</Package> 
  <Package>org.codehaus.annogen.view.internal.jam</Package> 
  <Package>org.codehaus.annogen.view.internal.javadoc</Package> 
  <Package>org.codehaus.annogen.view.internal.reflect</Package> 
  <Package>org.codehaus.jam</Package> 
  <Package>org.codehaus.jam.annotation</Package> 
  <Package>org.codehaus.jam.internal</Package> 
  <Package>org.codehaus.jam.internal.classrefs</Package> 
  <Package>org.codehaus.jam.internal.elements</Package> 
  <Package>org.codehaus.jam.internal.javadoc</Package> 
  <Package>org.codehaus.jam.internal.parser</Package> 
  <Package>org.codehaus.jam.internal.reflect</Package> 
  <Package>org.codehaus.jam.mutable</Package> 
  <Package>org.codehaus.jam.provider</Package> 
  <Package>org.codehaus.jam.visitor</Package> 
  <Package>org.codehaus.jam.xml</Package> 
  </Packages>
  <OutgoingDependencies /> 
- <IncomingDependencies>
  <Jar>axis2-adb-1.0.jar</Jar> 
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.apache.tools.ant.types</Package> 
  <Package>org.apache.tools.ant</Package> 
  <Package>com.sun.javadoc</Package> 
  <Package>com.sun.mirror.declaration</Package> 
  <Package>com.thoughtworks.qdox.model</Package> 
  <Package>com.sun.tools.javadoc</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="axiom-api-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>155</ClassCount> 
  <AbstractClassCount>57</AbstractClassCount> 
  <PackageCount>21</PackageCount> 
  <Level>0</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.37</Abstractness> 
  <Efferent>3</Efferent> 
  <Afferent>5</Afferent> 
  <Instability>0.38</Instability> 
  <Distance>0.25</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.axiom.soap.impl.dom.soap11</Package> 
  <Package>org.apache.axiom.soap.impl.dom</Package> 
  <Package>org.apache.axiom.soap.impl.dom.factory</Package> 
  <Package>org.apache.axiom.soap.impl.dom.soap12</Package> 
  <Package>org.apache.axiom.soap.impl.builder</Package> 
  <Package>org.apache.axiom.soap</Package> 
  <Package>org.apache.axiom.om.impl.dom</Package> 
  <Package>org.apache.axiom.om.impl.dom.factory</Package> 
  <Package>org.apache.axiom.om.impl.dom.jaxp</Package> 
  <Package>org.apache.axiom.om.impl</Package> 
  <Package>org.apache.axiom.om.impl.util</Package> 
  <Package>org.apache.axiom.om.impl.builder</Package> 
  <Package>org.apache.axiom.om.impl.exception</Package> 
  <Package>org.apache.axiom.om.impl.serialize</Package> 
  <Package>org.apache.axiom.om.impl.traverse</Package> 
  <Package>org.apache.axiom.om.impl.mtom</Package> 
  <Package>org.apache.axiom.om</Package> 
  <Package>org.apache.axiom.om.xpath</Package> 
  <Package>org.apache.axiom.om.util</Package> 
  <Package>org.apache.axiom.attachments.utils</Package> 
  <Package>org.apache.axiom.attachments</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  <Jar>commons-logging-1.0.4.jar</Jar> 
  <Jar>axiom-impl-1.0.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axiom-dom-1.0.jar</Jar> 
  <Jar>axiom-impl-1.0.jar</Jar> 
  <Jar>axis2-adb-1.0.jar</Jar> 
  <Jar>axis2-kernel-1.0.jar</Jar> 
  <Jar>neethi-1.0.1.jar</Jar> 
  </IncomingDependencies>
- <Cycles>
  <Cycle>axiom-impl-1.0.jar</Cycle> 
  </Cycles>
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  <Package>org.xml.sax.helpers</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="axiom-dom-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>68</ClassCount> 
  <AbstractClassCount>17</AbstractClassCount> 
  <PackageCount>7</PackageCount> 
  <Level>2</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.25</Abstractness> 
  <Efferent>2</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>1.00</Instability> 
  <Distance>0.25</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.axiom.soap.impl.dom.soap11</Package> 
  <Package>org.apache.axiom.soap.impl.dom</Package> 
  <Package>org.apache.axiom.soap.impl.dom.factory</Package> 
  <Package>org.apache.axiom.soap.impl.dom.soap12</Package> 
  <Package>org.apache.axiom.om.impl.dom</Package> 
  <Package>org.apache.axiom.om.impl.dom.factory</Package> 
  <Package>org.apache.axiom.om.impl.dom.jaxp</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  </OutgoingDependencies>
  <IncomingDependencies /> 
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="axiom-impl-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>57</ClassCount> 
  <AbstractClassCount>14</AbstractClassCount> 
  <PackageCount>6</PackageCount> 
  <Level>0</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.25</Abstractness> 
  <Efferent>2</Efferent> 
  <Afferent>4</Afferent> 
  <Instability>0.33</Instability> 
  <Distance>0.42</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.axiom.soap.impl.llom.soap11</Package> 
  <Package>org.apache.axiom.soap.impl.llom</Package> 
  <Package>org.apache.axiom.soap.impl.llom.soap12</Package> 
  <Package>org.apache.axiom.om.impl.llom</Package> 
  <Package>org.apache.axiom.om.impl.llom.factory</Package> 
  <Package>org.apache.axiom.om.impl.llom.util</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>commons-logging-1.0.4.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>axis2-adb-1.0.jar</Jar> 
  <Jar>axis2-kernel-1.0.jar</Jar> 
  <Jar>neethi-1.0.1.jar</Jar> 
  </IncomingDependencies>
- <Cycles>
  <Cycle>axiom-api-1.0.jar</Cycle> 
  </Cycles>
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="axis2-adb-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>67</ClassCount> 
  <AbstractClassCount>4</AbstractClassCount> 
  <PackageCount>6</PackageCount> 
  <Level>6</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.06</Abstractness> 
  <Efferent>4</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>1.00</Instability> 
  <Distance>0.06</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.axis2.databinding.utils</Package> 
  <Package>org.apache.axis2.databinding.utils.reader</Package> 
  <Package>org.apache.axis2.databinding.types</Package> 
  <Package>org.apache.axis2.databinding.typemapping</Package> 
  <Package>org.apache.axis2.databinding</Package> 
  <Package>org.apache.axis2.util</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>annogen-0.1.0.jar</Jar> 
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>axis2-kernel-1.0.jar</Jar> 
  <Jar>axiom-impl-1.0.jar</Jar> 
  </OutgoingDependencies>
  <IncomingDependencies /> 
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="axis2-kernel-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>297</ClassCount> 
  <AbstractClassCount>52</AbstractClassCount> 
  <PackageCount>33</PackageCount> 
  <Level>5</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.18</Abstractness> 
  <Efferent>11</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.92</Instability> 
  <Distance>0.10</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.ws.java2wsdl.utils</Package> 
  <Package>org.apache.ws.java2wsdl</Package> 
  <Package>org.apache.ws.java2wsdl.bytecode</Package> 
  <Package>org.apache.axis2.deployment.repository.util</Package> 
  <Package>org.apache.axis2.deployment</Package> 
  <Package>org.apache.axis2.deployment.util</Package> 
  <Package>org.apache.axis2.deployment.scheduler</Package> 
  <Package>org.apache.axis2.deployment.resolver</Package> 
  <Package>org.apache.axis2</Package> 
  <Package>org.apache.axis2.engine</Package> 
  <Package>org.apache.axis2.description</Package> 
  <Package>org.apache.axis2.phaseresolver</Package> 
  <Package>org.apache.axis2.context</Package> 
  <Package>org.apache.axis2.client</Package> 
  <Package>org.apache.axis2.client.async</Package> 
  <Package>org.apache.axis2.addressing</Package> 
  <Package>org.apache.axis2.transport</Package> 
  <Package>org.apache.axis2.transport.http.server</Package> 
  <Package>org.apache.axis2.transport.http</Package> 
  <Package>org.apache.axis2.transport.http.util</Package> 
  <Package>org.apache.axis2.transport.mail.server</Package> 
  <Package>org.apache.axis2.transport.mail</Package> 
  <Package>org.apache.axis2.transport.tcp</Package> 
  <Package>org.apache.axis2.transport.jms</Package> 
  <Package>org.apache.axis2.transport.local</Package> 
  <Package>org.apache.axis2.util.threadpool</Package> 
  <Package>org.apache.axis2.util</Package> 
  <Package>org.apache.axis2.wsdl</Package> 
  <Package>org.apache.axis2.modules</Package> 
  <Package>org.apache.axis2.handlers</Package> 
  <Package>org.apache.axis2.receivers</Package> 
  <Package>org.apache.axis2.i18n</Package> 
  <Package>org.apache.axis2.namespace</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>annogen-0.1.0.jar</Jar> 
  <Jar>XmlSchema-1.0.2.jar</Jar> 
  <Jar>commons-logging-1.0.4.jar</Jar> 
  <Jar>neethi-1.0.1.jar</Jar> 
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  <Jar>wsdl4j-1.5.2.jar</Jar> 
  <Jar>axiom-impl-1.0.jar</Jar> 
  <Jar>commons-httpclient-3.0.jar</Jar> 
  <Jar>commons-fileupload-1.0.jar</Jar> 
  <Jar>backport-util-concurrent-2.1.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axis2-adb-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.apache.tools.ant</Package> 
  <Package>org.apache.tools.ant.types</Package> 
  <Package>org.xml.sax</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="backport-util-concurrent-2.1.jar">
- <Summary>
- <Statistics>
  <ClassCount>248</ClassCount> 
  <AbstractClassCount>43</AbstractClassCount> 
  <PackageCount>5</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.17</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.00</Instability> 
  <Distance>0.83</Distance> 
  </Metrics>
- <Packages>
  <Package>edu.emory.mathcs.backport.java.util</Package> 
  <Package>edu.emory.mathcs.backport.java.util.concurrent</Package> 
  <Package>edu.emory.mathcs.backport.java.util.concurrent.atomic</Package> 
  <Package>edu.emory.mathcs.backport.java.util.concurrent.helpers</Package> 
  <Package>edu.emory.mathcs.backport.java.util.concurrent.locks</Package> 
  </Packages>
  <OutgoingDependencies /> 
- <IncomingDependencies>
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>sun.misc</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="commons-codec-1.3.jar">
- <Summary>
- <Statistics>
  <ClassCount>25</ClassCount> 
  <AbstractClassCount>8</AbstractClassCount> 
  <PackageCount>5</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.32</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.00</Instability> 
  <Distance>0.68</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.commons.codec</Package> 
  <Package>org.apache.commons.codec.binary</Package> 
  <Package>org.apache.commons.codec.digest</Package> 
  <Package>org.apache.commons.codec.language</Package> 
  <Package>org.apache.commons.codec.net</Package> 
  </Packages>
  <OutgoingDependencies /> 
- <IncomingDependencies>
  <Jar>commons-httpclient-3.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="commons-fileupload-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>16</ClassCount> 
  <AbstractClassCount>4</AbstractClassCount> 
  <PackageCount>1</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.25</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.00</Instability> 
  <Distance>0.75</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.commons.fileupload</Package> 
  </Packages>
  <OutgoingDependencies /> 
- <IncomingDependencies>
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="commons-httpclient-3.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>148</ClassCount> 
  <AbstractClassCount>25</AbstractClassCount> 
  <PackageCount>8</PackageCount> 
  <Level>4</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.17</Abstractness> 
  <Efferent>2</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.67</Instability> 
  <Distance>0.16</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.commons.httpclient.auth</Package> 
  <Package>org.apache.commons.httpclient</Package> 
  <Package>org.apache.commons.httpclient.cookie</Package> 
  <Package>org.apache.commons.httpclient.methods</Package> 
  <Package>org.apache.commons.httpclient.methods.multipart</Package> 
  <Package>org.apache.commons.httpclient.params</Package> 
  <Package>org.apache.commons.httpclient.protocol</Package> 
  <Package>org.apache.commons.httpclient.util</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>commons-logging-1.0.4.jar</Jar> 
  <Jar>commons-codec-1.3.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="commons-logging-1.0.4.jar">
- <Summary>
- <Statistics>
  <ClassCount>18</ClassCount> 
  <AbstractClassCount>2</AbstractClassCount> 
  <PackageCount>2</PackageCount> 
  <Level>3</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.11</Abstractness> 
  <Efferent>1</Efferent> 
  <Afferent>5</Afferent> 
  <Instability>0.17</Instability> 
  <Distance>0.72</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.commons.logging.impl</Package> 
  <Package>org.apache.commons.logging</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>log4j-1.2.13.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>axiom-impl-1.0.jar</Jar> 
  <Jar>axis2-kernel-1.0.jar</Jar> 
  <Jar>commons-httpclient-3.0.jar</Jar> 
  <Jar>neethi-1.0.1.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.apache.log</Package> 
  <Package>org.apache.avalon.framework.logger</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="geronimo-spec-activation-1.0.2-rc4.jar">
- <Summary>
- <Statistics>
  <ClassCount>21</ClassCount> 
  <AbstractClassCount>6</AbstractClassCount> 
  <PackageCount>1</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.29</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>-1.0</Instability> 
  <Distance>-1.0</Distance> 
  </Metrics>
- <Packages>
  <Package>javax.activation</Package> 
  </Packages>
  <OutgoingDependencies /> 
  <IncomingDependencies /> 
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="geronimo-spec-javamail-1.3.1-rc5.jar">
- <Summary>
- <Statistics>
  <ClassCount>104</ClassCount> 
  <AbstractClassCount>33</AbstractClassCount> 
  <PackageCount>5</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.32</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>-1.0</Instability> 
  <Distance>-1.0</Distance> 
  </Metrics>
- <Packages>
  <Package>javax.mail</Package> 
  <Package>javax.mail.event</Package> 
  <Package>javax.mail.internet</Package> 
  <Package>javax.mail.search</Package> 
  <Package>org.apache.geronimo.mail.handlers</Package> 
  </Packages>
  <OutgoingDependencies /> 
  <IncomingDependencies /> 
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="geronimo-spec-jms-1.1-rc4.jar">
- <Summary>
- <Statistics>
  <ClassCount>58</ClassCount> 
  <AbstractClassCount>43</AbstractClassCount> 
  <PackageCount>1</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.74</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>-1.0</Instability> 
  <Distance>-1.0</Distance> 
  </Metrics>
- <Packages>
  <Package>javax.jms</Package> 
  </Packages>
  <OutgoingDependencies /> 
  <IncomingDependencies /> 
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="jaxen-1.1-beta-8.jar">
- <Summary>
- <Statistics>
  <ClassCount>220</ClassCount> 
  <AbstractClassCount>59</AbstractClassCount> 
  <PackageCount>17</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.27</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>8</Afferent> 
  <Instability>0.00</Instability> 
  <Distance>0.73</Distance> 
  </Metrics>
- <Packages>
  <Package>org.jaxen</Package> 
  <Package>org.jaxen.dom</Package> 
  <Package>org.jaxen.dom4j</Package> 
  <Package>org.jaxen.expr</Package> 
  <Package>org.jaxen.expr.iter</Package> 
  <Package>org.jaxen.function</Package> 
  <Package>org.jaxen.function.ext</Package> 
  <Package>org.jaxen.function.xslt</Package> 
  <Package>org.jaxen.javabean</Package> 
  <Package>org.jaxen.jdom</Package> 
  <Package>org.jaxen.pattern</Package> 
  <Package>org.jaxen.saxpath</Package> 
  <Package>org.jaxen.saxpath.base</Package> 
  <Package>org.jaxen.saxpath.helpers</Package> 
  <Package>org.jaxen.util</Package> 
  <Package>org.jaxen.xom</Package> 
  <Package>org.w3c.dom</Package> 
  </Packages>
  <OutgoingDependencies /> 
- <IncomingDependencies>
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>axiom-dom-1.0.jar</Jar> 
  <Jar>axis2-kernel-1.0.jar</Jar> 
  <Jar>log4j-1.2.13.jar</Jar> 
  <Jar>neethi-1.0.1.jar</Jar> 
  <Jar>wsdl4j-1.5.2.jar</Jar> 
  <Jar>wstx-asl-2.9.3.jar</Jar> 
  <Jar>XmlSchema-1.0.2.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  <Package>org.dom4j</Package> 
  <Package>org.dom4j.io</Package> 
  <Package>org.jdom</Package> 
  <Package>org.jdom.input</Package> 
  <Package>nu.xom</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="log4j-1.2.13.jar">
- <Summary>
- <Statistics>
  <ClassCount>253</ClassCount> 
  <AbstractClassCount>27</AbstractClassCount> 
  <PackageCount>19</PackageCount> 
  <Level>2</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.11</Abstractness> 
  <Efferent>1</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.50</Instability> 
  <Distance>0.39</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.log4j</Package> 
  <Package>org.apache.log4j.chainsaw</Package> 
  <Package>org.apache.log4j.config</Package> 
  <Package>org.apache.log4j.helpers</Package> 
  <Package>org.apache.log4j.jdbc</Package> 
  <Package>org.apache.log4j.jmx</Package> 
  <Package>org.apache.log4j.lf5</Package> 
  <Package>org.apache.log4j.lf5.util</Package> 
  <Package>org.apache.log4j.lf5.viewer</Package> 
  <Package>org.apache.log4j.lf5.viewer.categoryexplorer</Package> 
  <Package>org.apache.log4j.lf5.viewer.configure</Package> 
  <Package>org.apache.log4j.net</Package> 
  <Package>org.apache.log4j.nt</Package> 
  <Package>org.apache.log4j.or</Package> 
  <Package>org.apache.log4j.or.jms</Package> 
  <Package>org.apache.log4j.or.sax</Package> 
  <Package>org.apache.log4j.spi</Package> 
  <Package>org.apache.log4j.varia</Package> 
  <Package>org.apache.log4j.xml</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>commons-logging-1.0.4.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  <Package>org.xml.sax.helpers</Package> 
  <Package>com.sun.jdmk.comm</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="neethi-1.0.1.jar">
- <Summary>
- <Statistics>
  <ClassCount>21</ClassCount> 
  <AbstractClassCount>6</AbstractClassCount> 
  <PackageCount>3</PackageCount> 
  <Level>4</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.29</Abstractness> 
  <Efferent>4</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.80</Instability> 
  <Distance>0.09</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.ws.policy</Package> 
  <Package>org.apache.ws.policy.util</Package> 
  <Package>org.apache.ws.policy.attachment</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>commons-logging-1.0.4.jar</Jar> 
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  <Jar>axiom-api-1.0.jar</Jar> 
  <Jar>axiom-impl-1.0.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="servletapi-2.3.jar">
- <Summary>
- <Statistics>
  <ClassCount>63</ClassCount> 
  <AbstractClassCount>39</AbstractClassCount> 
  <PackageCount>4</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.62</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>-1.0</Instability> 
  <Distance>-1.0</Distance> 
  </Metrics>
- <Packages>
  <Package>javax.servlet</Package> 
  <Package>javax.servlet.http</Package> 
  <Package>javax.servlet.jsp</Package> 
  <Package>javax.servlet.jsp.tagext</Package> 
  </Packages>
  <OutgoingDependencies /> 
  <IncomingDependencies /> 
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="stax-api-1.0.jar">
- <Summary>
- <Statistics>
  <ClassCount>40</ClassCount> 
  <AbstractClassCount>31</AbstractClassCount> 
  <PackageCount>5</PackageCount> 
  <Level>1</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.78</Abstractness> 
  <Efferent>0</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>-1.0</Instability> 
  <Distance>-1.0</Distance> 
  </Metrics>
- <Packages>
  <Package>javax.xml.namespace</Package> 
  <Package>javax.xml.stream</Package> 
  <Package>javax.xml.stream.events</Package> 
  <Package>javax.xml.stream.util</Package> 
  <Package>javax.xml</Package> 
  </Packages>
  <OutgoingDependencies /> 
  <IncomingDependencies /> 
  <Cycles /> 
  <UnresolvedDependencies /> 
  </Summary>
  </Jar>
- <Jar name="wsdl4j-1.5.2.jar">
- <Summary>
- <Statistics>
  <ClassCount>119</ClassCount> 
  <AbstractClassCount>45</AbstractClassCount> 
  <PackageCount>18</PackageCount> 
  <Level>2</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.38</Abstractness> 
  <Efferent>1</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.50</Instability> 
  <Distance>0.12</Distance> 
  </Metrics>
- <Packages>
  <Package>com.ibm.wsdl</Package> 
  <Package>com.ibm.wsdl.extensions</Package> 
  <Package>com.ibm.wsdl.extensions.http</Package> 
  <Package>com.ibm.wsdl.extensions.mime</Package> 
  <Package>com.ibm.wsdl.extensions.schema</Package> 
  <Package>com.ibm.wsdl.extensions.soap</Package> 
  <Package>com.ibm.wsdl.factory</Package> 
  <Package>com.ibm.wsdl.util</Package> 
  <Package>com.ibm.wsdl.util.xml</Package> 
  <Package>com.ibm.wsdl.xml</Package> 
  <Package>javax.wsdl</Package> 
  <Package>javax.wsdl.extensions</Package> 
  <Package>javax.wsdl.extensions.http</Package> 
  <Package>javax.wsdl.extensions.mime</Package> 
  <Package>javax.wsdl.extensions.schema</Package> 
  <Package>javax.wsdl.extensions.soap</Package> 
  <Package>javax.wsdl.factory</Package> 
  <Package>javax.wsdl.xml</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="wstx-asl-2.9.3.jar">
- <Summary>
- <Statistics>
  <ClassCount>217</ClassCount> 
  <AbstractClassCount>54</AbstractClassCount> 
  <PackageCount>18</PackageCount> 
  <Level>2</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.25</Abstractness> 
  <Efferent>1</Efferent> 
  <Afferent>0</Afferent> 
  <Instability>1.00</Instability> 
  <Distance>0.25</Distance> 
  </Metrics>
- <Packages>
  <Package>com.ctc.wstx.api</Package> 
  <Package>com.ctc.wstx.cfg</Package> 
  <Package>com.ctc.wstx.compat</Package> 
  <Package>com.ctc.wstx.dom</Package> 
  <Package>com.ctc.wstx.dtd</Package> 
  <Package>com.ctc.wstx.ent</Package> 
  <Package>com.ctc.wstx.evt</Package> 
  <Package>com.ctc.wstx.exc</Package> 
  <Package>com.ctc.wstx.io</Package> 
  <Package>com.ctc.wstx.msv</Package> 
  <Package>com.ctc.wstx.sr</Package> 
  <Package>com.ctc.wstx.stax</Package> 
  <Package>com.ctc.wstx.sw</Package> 
  <Package>com.ctc.wstx.util</Package> 
  <Package>org.codehaus.stax2</Package> 
  <Package>org.codehaus.stax2.evt</Package> 
  <Package>org.codehaus.stax2.io</Package> 
  <Package>org.codehaus.stax2.validation</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  </OutgoingDependencies>
  <IncomingDependencies /> 
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  <Package>com.sun.msv.grammar</Package> 
  <Package>org.relaxng.datatype</Package> 
  <Package>com.sun.msv.verifier.regexp</Package> 
  <Package>com.sun.msv.grammar.trex</Package> 
  <Package>com.sun.msv.reader.util</Package> 
  <Package>com.sun.msv.reader</Package> 
  <Package>com.sun.msv.reader.trex.ng</Package> 
  <Package>com.sun.msv.util</Package> 
  <Package>com.sun.msv.verifier</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
- <Jar name="XmlSchema-1.0.2.jar">
- <Summary>
- <Statistics>
  <ClassCount>87</ClassCount> 
  <AbstractClassCount>12</AbstractClassCount> 
  <PackageCount>4</PackageCount> 
  <Level>2</Level> 
  </Statistics>
- <Metrics>
  <Abstractness>0.14</Abstractness> 
  <Efferent>1</Efferent> 
  <Afferent>1</Afferent> 
  <Instability>0.50</Instability> 
  <Distance>0.36</Distance> 
  </Metrics>
- <Packages>
  <Package>org.apache.ws.commons.schema.constants</Package> 
  <Package>org.apache.ws.commons.schema.resolver</Package> 
  <Package>org.apache.ws.commons.schema</Package> 
  <Package>org.apache.ws.commons.schema.utils</Package> 
  </Packages>
- <OutgoingDependencies>
  <Jar>jaxen-1.1-beta-8.jar</Jar> 
  </OutgoingDependencies>
- <IncomingDependencies>
  <Jar>axis2-kernel-1.0.jar</Jar> 
  </IncomingDependencies>
  <Cycles /> 
- <UnresolvedDependencies>
  <Package>org.xml.sax</Package> 
  </UnresolvedDependencies>
  </Summary>
  </Jar>
  </Jars>
  </JarAnalyzer>

-Arvind
















-----Original Message-----
From: Davanum Srinivas [mailto:davanum@gmail.com] 
Sent: Monday, May 08, 2006 12:33 PM
To: axis-user@ws.apache.org; carvind@techmahindra.com
Subject: Re: Minimal SOAP Client footprint

You definitely should not need commons-fileupload-1.0.jar

-- dims

On 5/8/06, Davanum Srinivas <da...@gmail.com> wrote:
> did u try removing log4j-1.2.13.jar? and jaxen-1.1-beta-8.jar?
>
> Please try removing one by one and then let us know?
>
> thanks,
> dims
>
> On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
> >
> >
> >
> > Hi,
> >
> >
> >
> > Which jar files are required for a simple SOAP client?
> >
> >
> >
> > A simple client which I run, from the samples - "googleSearch", depends
on
> > the following jar files. The total size of these files adds to 3.25 MB.
> >
> >
> >
> > annogen-0.1.0.jar
> >
> > axiom-api-1.0.jar
> >
> > axiom-impl-1.0.jar
> >
> > axis2-kernel-1.0.jar
> >
> > backport-util-concurrent-2.1.jar
> >
> > commons-codec-1.3.jar
> >
> > commons-fileupload-1.0.jar
> >
> > commons-httpclient-3.0.jar
> >
> > commons-logging-1.0.4.jar
> >
> > jaxen-1.1-beta-8.jar
> >
> > log4j-1.2.13.jar
> >
> > neethi-1.0.1.jar
> >
> > stax-api-1.0.jar
> >
> > stax-utils-20060501.jar
> >
> > wsdl4j-1.5.2.jar
> >
> > wstx-asl-2.9.3.jar
> >
> > XmlSchema-1.0.2.jar
> >
> >
> >
> > Are all these needed or are there some un-necessary dependencies?
> >
> > I did check the dependency on these and found them pretty much
> > interdependent.
> >
> > Are there any plans to optimize it for small footprint for clients?
> >
> >
> >
> > -Arvind.
>
>
> --
> Davanum Srinivas : http://wso2.com/blogs/
>


--
Davanum Srinivas : http://wso2.com/blogs/


Re: Minimal SOAP Client footprint

Posted by Davanum Srinivas <da...@gmail.com>.
You definitely should not need commons-fileupload-1.0.jar

-- dims

On 5/8/06, Davanum Srinivas <da...@gmail.com> wrote:
> did u try removing log4j-1.2.13.jar? and jaxen-1.1-beta-8.jar?
>
> Please try removing one by one and then let us know?
>
> thanks,
> dims
>
> On 5/8/06, Arvind Chaudhary <ca...@techmahindra.com> wrote:
> >
> >
> >
> > Hi,
> >
> >
> >
> > Which jar files are required for a simple SOAP client?
> >
> >
> >
> > A simple client which I run, from the samples – "googleSearch", depends on
> > the following jar files. The total size of these files adds to 3.25 MB.
> >
> >
> >
> > annogen-0.1.0.jar
> >
> > axiom-api-1.0.jar
> >
> > axiom-impl-1.0.jar
> >
> > axis2-kernel-1.0.jar
> >
> > backport-util-concurrent-2.1.jar
> >
> > commons-codec-1.3.jar
> >
> > commons-fileupload-1.0.jar
> >
> > commons-httpclient-3.0.jar
> >
> > commons-logging-1.0.4.jar
> >
> > jaxen-1.1-beta-8.jar
> >
> > log4j-1.2.13.jar
> >
> > neethi-1.0.1.jar
> >
> > stax-api-1.0.jar
> >
> > stax-utils-20060501.jar
> >
> > wsdl4j-1.5.2.jar
> >
> > wstx-asl-2.9.3.jar
> >
> > XmlSchema-1.0.2.jar
> >
> >
> >
> > Are all these needed or are there some un-necessary dependencies?
> >
> > I did check the dependency on these and found them pretty much
> > interdependent.
> >
> > Are there any plans to optimize it for small footprint for clients?
> >
> >
> >
> > -Arvind.
>
>
> --
> Davanum Srinivas : http://wso2.com/blogs/
>


--
Davanum Srinivas : http://wso2.com/blogs/