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:[EMAIL PROTECTED] Sent: Monday, May 08, 2006 9:39 PM To: [email protected] 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:[EMAIL PROTECTED] > Sent: Monday, May 08, 2006 8:58 PM > To: [email protected] > 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. Thats still too big for a > simple >> client! I think it can be reduced further, at least the commons and the >> logging part. I dont 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 > > > > -- ------------------------------------------------------------------- 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
