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:[EMAIL PROTECTED] Sent: Monday, May 08, 2006 6:24 PM
To: [email protected]
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:[EMAIL PROTECTED]
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:[EMAIL PROTECTED]
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

Reply via email to