Also note that if you use a Microsoft OS, you will be limited to 10 queued connections unless you run the Server, Advanced Server, etc., version of the OS.
Scott ----- Original Message ----- From: "Scott Nichol" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, April 22, 2002 8:09 AM Subject: Re: Heavy loads on SOAP RPC > The Web server and/or servlet container against which you are testing probably > has a limit set for the number of connections it will queue. In Tomcat 3.2.1, > for example, server.xml has the "backlog" parameter for a Connector: > > <!-- Normal HTTP --> > <Connector className="org.apache.tomcat.service.PoolTcpConnector"> > <Parameter name="handler" > value="org.apache.tomcat.service.http.HttpConnectionHandler"/> > <Parameter name="port" > value="8080"/> > <Parameter name="backlog" value="100"/> > </Connector> > > In Tomcat 4.0.1, the Connector has an acceptCount attribute: > > <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> > <Connector className="org.apache.catalina.connector.http.HttpConnector" > port="8080" minProcessors="5" maxProcessors="75" > enableLookups="true" redirectPort="8443" > acceptCount="10" debug="0" connectionTimeout="60000"/> > > Scott Nichol > > ----- Original Message ----- > From: "Tiago Fernandes Thomaz" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Monday, April 22, 2002 5:58 AM > Subject: Heavy loads on SOAP RPC > > > > Hi, > > > > I'm facing some trouble concerning heavy loads on soap rpc. > > I coded a soap client that simulates several clients with a Thread > > implementation. > > My snippet code is: > > > > public class SOAPClient > > { > > public static void main (String[] args) throws Exception > > { > > URL url = new URL(args[0]); > > String sXML = null; > > > > for (int i = 0; i < 50; i++) > > { > > sXML = "<?xml version=\"1.0\" encoding=\"US-ASCII\"?><request client > > = \"client"+i+"\" action = \"action"+i+"\"><parameter name = > > \"name"+i+"\">My Name"+i+"</parameter></request> "; > > > > Call call = new Call(); > > call.setTargetObjectURI("urn:Connector"); > > call.setMethodName("sendRequest"); > > call.setEncodingStyleURI("http://schemas.xmlsoap.org/soap/encoding/"); > > Vector params = new Vector(); > > params.addElement(new org.apache.soap.rpc.Parameter("sXML", > > String.class, sXML, null)); > > > > call.setParams(params); > > > > (new TestThread(call, url)).start(); > > } > > } > > } > > > > > > public class TestThread extends Thread > > { > > Call testCall = null; > > URL url = null; > > > > public TestThread(Call testCall, URL url) > > { > > this.testCall = testCall; > > this.url = url; > > } > > > > public void run() > > { > > try { > > org.apache.soap.rpc.Response resp = testCall.invoke(url, ""); > > > > if (resp.generatedFault()) > > { > > Fault fault = resp.getFault(); > > System.out.println(this.getName() + "Fault Code = " + > > fault.getFaultCode()); > > System.out.println(this.getName() + "Fault String = " + > > fault.getFaultString()); > > } > > else > > { > > org.apache.soap.rpc.Parameter result = resp.getReturnValue(); > > String res = result.toString(); > > Object obj = result.getValue(); > > String resp2 = obj.toString(); > > System.out.println(this.getName()+" - Result: "+resp2); > > } > > } > > catch (Exception e) > > { > > System.out.println(this.getName() + " :Error! - " + e.getMessage()); > > } > > } > > } > > > > , and I'm getting the following exception for most of the Threads (30 out of > > 50): > > > > Thread-i Error opening socket: Connection refused: connect > > > > Does anyone explain me why am I getting this? Is it because SOAP can only > > handle about 20 http connections? > > > > Tiago Fernandes Thomaz > > > >