I am supporting a multi-threaded server application which uses Axis as a web services client. We observe at what appear random and rare occasions (< less than once a week or less than 1 in 100000 requests) that thread 1 sends a request which is actually a duplicate of a request send by a thread 2 and is not the request it should actually send. All debugging / logging seems to indicate that Axis is the culprit but given that it is not reproducible in our test environments it is impossible to be certain about this. To be a bit more precise in describing what is happening:
Assume the service we are calling is about retrieving an imaged document page by page, i.e. the service is something like getImage(docid, pageid). So we have thread 1 dealing with document A and thread 2 with document B. So thread 1 calls 'getImage(docid A, pageid X)' and thread 2 simultaneously calls 'getImage(docid B, pageid Y)'. However, both thread 1 and thread 2 send the same SOAP message requesting the same docid, pageid. Logging indicates that we call the Axis client stub with the correct parameters and logging also shows the wrong outgoing SOAP messages. We never observed such a mixup when different services are invoked simultaneously, i.e. thread 1 calls 'getImage(...)' and thread 2 calls 'getDocumentDetails(...)'. However, we did observe the same problem with simultaneous calls to services other than getImage. As the documents we are dealing with are A) business critical (related to property dealings like mortgages, titles, ...) and B) the customer pays for them returning the wrong data is actually very bad. It is also worthwhile mentioning that these problems only appeared after a deployment of new faster multi CPU hardware. The problem doesn't appear to be JRE specific, that is is has been observed under Java 1.4 and 1.5. We are close to throwing Axis out (as this is, if my recollections are correct, the 3rd multi-threading issue we have come across in Axis) but I am wondering if anyone, especially any experienced Axis committers, may have an idea where in the Axis codebase the problem could be? Thanks Manuel --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
