To help debug a more complex issue, I have written a very simple Web
Service that looks like this:
public class helloService{
public String echoName(String name){
return name;
}
}
I deployed this service on a Tomcat 4.1.18 App Server using the Axis
servlet. I did so by naming the file above helloService.jws and placing it
in the ${CATALINA_HOME}/webapps/axis directory.
A request like this:
********************************************************
POST /axis/helloService.jws HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.0
Host: gonzo.cruz.ibm.com
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 403
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<echoName
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<arg0 xsi:type="xsd:string">DATA</arg0>
</echoName>
</soapenv:Body>
</soapenv:Envelope>
**********************************************************
Yields a response like this:
**********************************************************
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Date: Fri, 03 Jan 2003 23:19:28 GMT
Server: Apache Tomcat/4.0.6 (HTTP/1.1 Connector)
Connection: close
Set-Cookie: JSESSIONID=92707C09552F5CC3A0D4EB82B2B58353;Path=/axis
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<echoNameResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<echoNameReturn xsi:type="xsd:string">DATA</echoNameReturn>
</echoNameResponse>
</soapenv:Body>
</soapenv:Envelope>
***********************************************************
However, when I put the Service under load (100 threads making simultaneous
requests for ~10 minutes) the hits/second rate starts fast (500 hits/sec)
then slows, and eventually just stops.
When the service is hung, there is no way of connecting to Tomcat. Also, a
">netstat -a | grep 8080" yields a list of connections that are in
"CLOSE_WAIT" state, that will not close until you restart Tomcat.
I have tested this on AIX, SOLARIS, and Windows... using IBM and Sun
JREs...with WebSphere and Tomcat, and It ALWAYS eventually hangs. I
believe that this problem is with the Axis servlet, and is the root cause
of the problem I originally set out to fix.
Has anyone seen this before??? Any help would be appreciated!!!
Thanks,
Brook M. Lovatt
-----+-----
Software Engineer - AMWeb Development
IBM Software Group - Security
Santa Cruz, CA 95060
Tel: (831)466-5102
T/L: 587-5102
[EMAIL PROTECTED]