axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michele Mazzucco <Michele.Mazzu...@ncl.ac.uk>
Subject Re: Fails under some load
Date Fri, 05 Dec 2008 11:58:33 GMT
Can you please post the relevant service code too? Might it be a  
concurrency issue?


Michele


On 5 Dec 2008, at 10:55, Daniil Chipenko wrote:

> Hello,
>
> If someone familiar with creating service clients with AXIOM,  
> please help!
>
> I was checked for outgoing SOAP messages with http sniffer on  
> client requests to server and realized that  some of them is  
> malformed by interleaving each other why other is empty. Sometimes  
> they become so twisted that even result = sender.sendReceive 
> (method);  can't pass XML structure analyze phase and can't do the  
> request at all - exceptions thrown is very varied then, but all of  
> them indicates broken XML structure.  How can this happen?
> I didn't use any static objects in my code which can assign to the  
> same static variables and i checked content of outgoing OMElement -  
> it's always well-formed. Problem happen inside sendReceive method.
> I suppose sendReceive method of sender object sometimes write to  
> same httpclient stream. How i can
> avoid such interleaving?
>
> Example of such broken request:
>
> 1 thread:   <??xmxlml ..... (and so on)
> while
> 2 thread  is empty
> but
> 3 thread's request is properly formed and passed
>
> ServiceClient sender = new ServiceClient();
>                     sender.setOptions(options);
>                     result = sender.sendReceive(method);
>
> very sorry for bad english.
> With hope,
> Daniil
>
>
> 2008/12/4 Daniil Chipenko <sumerek@gmail.com>
> Good day,
>
> I'm using Axis2 1.4 with tomcat5.5 and created both service and  
> client from a scratch with AXIOM via HTTP port.
>  And they worked together like charm, just before i'm beggining to  
> put them under some load. Even when there is just 3 simultaneous  
> calls - one of my client threads written with AXIOM begins to throw  
> varied exceptions without any stack trace, like:
>
> org.apache.axiom.om.OMException
>       or
> org.apache.axiom.om.OMException:  
> javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
> Message: An invalid XML character (Unicode: 0x0) was found in the  
> comment.
>       or
> com.sun.org.apache.xerces.internal.xni.XNIException: Scanner State  
> 7 not Recognized
>       or
> org.apache.axiom.om.OMException:  
> javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1]
> Message: Open quote is expected for attribute "{1}" associated with  
> an  element type  "name".
>     ... and this happens not always, but approx. 1/3 times   of  3  
> simultaneus threads starts.
>
> Here is my code:
>
>   OMElement method = fac.createOMElement(new QName(chartName));
>
>                 for(String key : keys){
>                     OMElement value = fac.createOMElement(new QName 
> (key));
>                     String mapvalue = ((String[]) params.get(key))[0];
>                     value.addChild(fac.createOMText(value, mapvalue));
>                     method.addChild(value);
>                 }
>
>                Options options = new Options();
>                 options.setTo(ApplicationProperties.targetEPRFinance);
>                 options.setTransportInProtocol 
> (Constants.TRANSPORT_HTTP);
>                 OMElement result = fac.createOMElement(new QName 
> ("EmptyResult"));
>
>                 System.out.println("Payload for service: " +  
> method.toString());
>
>                 try {
>                     ServiceClient sender = new ServiceClient();
>                     sender.setOptions(options);
>                     result = sender.sendReceive(method);
>                 } catch (AxisFault e) {
>                     // TODO Auto-generated catch block
>                     e.printStackTrace();
>                 }
>
>                 System.out.println("Result from service: " +  
> result.toString());
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message