You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by "Carter, Will" <WC...@envestnetpmc.com> on 2002/08/08 21:43:12 UTC

large xml file response performance help

Hi,

I am making a soap request to a webservice that returns about 200k of xml, and it is taking over a minute.  I think I see the bottleneck.

I can watch my cpu processing when I make the request.

I see a spike when I make the request.
There is about 6sec of internet connection activity...my cpu processing is low.
Then my cpu spikes to 100% for about 65 seconds, no internet connectivity during this time.
Finally, then my console displays the xml in bracket format:
<user>jim</user>  ...a huge long stream of xml.

I am guessing that the long bottleneck is when it is somehow turning the xml from 
&lt;user&gt;5250&lt;/user&gt;
to
<user>jim</user>

I have been reading through these posts about passing the string as a literal XML,
following this thread:
http://marc.theaimsgroup.com/?l=soap-user&m=98104062416106&w=2

I am new to soap and pretty new with java...how can I change my client code to do this?

here is some snippets of my code:

//Snippet
Call call = new Call();
call.setTargetObjectURI("urn:apl-ReportService");
call.setMethodName("getPortfolio");
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
//Snippet


//Snippet
	try {
	System.out.println("\nCalling SOAP server...");
	resp = call.invoke(url, "");
	//this is where my cpu spikes for 65secs
	System.out.print("The SOAP Server says: ");
	}
	
	catch (SOAPException e){
	System.err.println("Caught SOAPException (" +
	e.getFaultCode() + "): " +
	e.getMessage());
	return;
	}
	
	else{
	    Parameter ret = resp.getReturnValue();
	    System.out.println(ret.getValue());
	}
//Snippet

I am trying to integrate the solution found here:
http://marc.theaimsgroup.com/?l=soap-user&m=98104176120085&w=2

any help would be greatly appreciated.
thanks,
will

Re: large xml file response performance help

Posted by Jian Hu <jh...@chutneytech.com>.
Hi Will,

I am working on SOAP too. The SOAP architecture make it slow. But here is a solution: using cache. Our compay provides solution to remove
this botttleneck. For details,  you can visit
http://www.chutneytech.com

Or you can call me at 404-442-9911X493
Using my testing program, the response can be generated in 1-200 ms. Is that good news?

Jian Hu

"Carter, Will" wrote:

> Hi,
>
> I am making a soap request to a webservice that returns about 200k of xml, and it is taking over a minute.  I think I see the bottleneck.
>
> I can watch my cpu processing when I make the request.
>
> I see a spike when I make the request.
> There is about 6sec of internet connection activity...my cpu processing is low.
> Then my cpu spikes to 100% for about 65 seconds, no internet connectivity during this time.
> Finally, then my console displays the xml in bracket format:
> <user>jim</user>  ...a huge long stream of xml.
>
> I am guessing that the long bottleneck is when it is somehow turning the xml from
> &lt;user&gt;5250&lt;/user&gt;
> to
> <user>jim</user>
>
> I have been reading through these posts about passing the string as a literal XML,
> following this thread:
> http://marc.theaimsgroup.com/?l=soap-user&m=98104062416106&w=2
>
> I am new to soap and pretty new with java...how can I change my client code to do this?
>
> here is some snippets of my code:
>
> //Snippet
> Call call = new Call();
> call.setTargetObjectURI("urn:apl-ReportService");
> call.setMethodName("getPortfolio");
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> //Snippet
>
> //Snippet
>         try {
>         System.out.println("\nCalling SOAP server...");
>         resp = call.invoke(url, "");
>         //this is where my cpu spikes for 65secs
>         System.out.print("The SOAP Server says: ");
>         }
>
>         catch (SOAPException e){
>         System.err.println("Caught SOAPException (" +
>         e.getFaultCode() + "): " +
>         e.getMessage());
>         return;
>         }
>
>         else{
>             Parameter ret = resp.getReturnValue();
>             System.out.println(ret.getValue());
>         }
> //Snippet
>
> I am trying to integrate the solution found here:
> http://marc.theaimsgroup.com/?l=soap-user&m=98104176120085&w=2
>
> any help would be greatly appreciated.
> thanks,
> will
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>

Re: large xml file response performance help

Posted by Jian Hu <jh...@chutneytech.com>.
Hi Will,

I am working on SOAP too. The SOAP architecture make it slow. But here is a solution: using cache. Our compay provides solution to remove
this botttleneck. For details,  you can visit
http://www.chutneytech.com

Or you can call me at 404-442-9911X493
Using my testing program, the response can be generated in 1-200 ms. Is that good news?

Jian Hu

"Carter, Will" wrote:

> Hi,
>
> I am making a soap request to a webservice that returns about 200k of xml, and it is taking over a minute.  I think I see the bottleneck.
>
> I can watch my cpu processing when I make the request.
>
> I see a spike when I make the request.
> There is about 6sec of internet connection activity...my cpu processing is low.
> Then my cpu spikes to 100% for about 65 seconds, no internet connectivity during this time.
> Finally, then my console displays the xml in bracket format:
> <user>jim</user>  ...a huge long stream of xml.
>
> I am guessing that the long bottleneck is when it is somehow turning the xml from
> &lt;user&gt;5250&lt;/user&gt;
> to
> <user>jim</user>
>
> I have been reading through these posts about passing the string as a literal XML,
> following this thread:
> http://marc.theaimsgroup.com/?l=soap-user&m=98104062416106&w=2
>
> I am new to soap and pretty new with java...how can I change my client code to do this?
>
> here is some snippets of my code:
>
> //Snippet
> Call call = new Call();
> call.setTargetObjectURI("urn:apl-ReportService");
> call.setMethodName("getPortfolio");
> call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
> //Snippet
>
> //Snippet
>         try {
>         System.out.println("\nCalling SOAP server...");
>         resp = call.invoke(url, "");
>         //this is where my cpu spikes for 65secs
>         System.out.print("The SOAP Server says: ");
>         }
>
>         catch (SOAPException e){
>         System.err.println("Caught SOAPException (" +
>         e.getFaultCode() + "): " +
>         e.getMessage());
>         return;
>         }
>
>         else{
>             Parameter ret = resp.getReturnValue();
>             System.out.println(ret.getValue());
>         }
> //Snippet
>
> I am trying to integrate the solution found here:
> http://marc.theaimsgroup.com/?l=soap-user&m=98104176120085&w=2
>
> any help would be greatly appreciated.
> thanks,
> will
>
> --
> To unsubscribe, e-mail:   <ma...@xml.apache.org>
> For additional commands, e-mail: <ma...@xml.apache.org>