axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Fremantle" <pzf...@gmail.com>
Subject Re: [AXIS2] Webservice not thread save - wrong method in SOAP response
Date Mon, 12 Mar 2007 23:00:24 GMT
Hmmmm this seems like a nasty problem. I don't understand that at all. Sorry!

Paul

On 3/12/07, Christian Henning <polosun@web.de> wrote:
> Hi Paul,
>
> yes I mean <service scope="transportsession">?
>
> I understand that the same POJO are shared for clients with same cookies.
> This is what I want.
> My objects/methods are thread save. The response contains the correct data
> but the method name in the response is wrong!
> I got sometimes the following response, but ns:getDatabaseResponse is the
> name of the method which is called during the request.
> It should be  ns:getDataSetsResponse. If I call the method "alone" the
> response is right.
>
> ->Wrong response
> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getDatabaseResponse
> xmlns:ns="http://webservice.Test.polo.sun/xsd"><ns:return>Base1</ns:return><ns:return>Base2</ns:return></ns:getDatabaseResponse></soapenv:Body></soapenv:Envelope>
>
>
> ->Right response
> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getDataSetsResponse
> xmlns:ns="http://webservice.Test.polo.sun/xsd"><ns:return>Base1</ns:return><ns:return>Base2</ns:return></ns:getDataSetsResponse></soapenv:Body></soapenv:Envelope>
>
> The client code is just javascript with hardcoded SOAP messages for testing.
> Usually I use my own JSON MessageFormater and Builder to convert to JSON.
> This works fine. Of course I had the same problem. So I build the SOAP
> testclient because I tought my JSON converter has the problem.
>
> Chris
>
>
> ----- Original Message -----
> From: "Paul Fremantle" <pzfreo@gmail.com>
> To: <axis-user@ws.apache.org>
> Sent: Monday, March 12, 2007 10:31 PM
> Subject: Re: [AXIS2] Webservice not thread save - wrong method in SOAP
> response
>
>
> > Christian
> >
> > Do you mean you have <service scope="transportsession">?
> >
> > In that case, Axis2 will share the *same* POJO object amongst all the
> > clients that use the same cookies. That is what session scope does. So
> > if your object isn't threadsafe, then you must be careful not to use
> > it from multiple threads on the client side that share the same
> > session.
> >
> > Alternatively you need to make your POJOs threadsafe by synchronizing.
> >
> > Paul
> >
> > PS what is your client code? (Just out of interest)
> >
> > On 3/12/07, Christian Henning <polosun@web.de> wrote:
> >> Hello,
> >>
> >> is Axis2 not Thread save?
> >> I make AJAX requests to the webservice (POJO) with session transport
> >> enabled.
> >>
> >> If I send (asynchron) request1 (which takes longer than request2) and
> >> than
> >> request2, the first child oh the SOAP Body of request2 shows the method
> >> name
> >> of request1.
> >>
> >> I send traffic. Request2 works fine but request1 shows also
> >> "ns:getDatabaseResponse" instead of "ns:getDataSetsResponse". The rest of
> >> the SOAP message is correct! If I call request1 alone it works fine. I
> >> also
> >> send the SOAP correct message of correct answer.
> >>
> >> Can somebody help me.
> >>
> >> Thanks a lot
> >> Chris
> >>
> >> --Request2
> >> POST /axis2/services/Test HTTP/1.1
> >> Host: 127.0.0.1:8080
> >> User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.7.13)
> >> Gecko/20060411 Firefox/1.0.8 SUSE/1.0.8-0.2
> >> Accept:
> >> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
> >> Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
> >> Accept-Encoding: gzip,deflate
> >> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> >> Keep-Alive: 300
> >> Connection: keep-alive
> >> SOAPAction: "urn:getDatabase"
> >> Content-Type: text/xml
> >> Content-Length: 278
> >> Cookie: JSESSIONID=B49F633D0325F2F9C7B0F315512EB45D
> >> Pragma: no-cache
> >> Cache-Control: no-cache
> >>
> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns3:getDatabase
> >> xmlns:ns3="http://webservice.Test.polo.sun/xsd"><ns3:need>data</ns3:need></ns3:getDatabase></soapenv:Body></soapenv:Envelope>
> >>
> >>
> >> HTTP/1.1 200 OK
> >> Server: Apache-Coyote/1.1
> >> Content-Type: text/xml;charset=UTF-8
> >> Transfer-Encoding: chunked
> >> Date: Mon, 12 Mar 2007 20:38:21 GMT
> >>
> >>
> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getDatabaseResponse
> >> xmlns:ns="http://webservice.Test.polo.sun/xsd"><ns:return>DB1</ns:return></ns:getDatabaseResponse></soapenv:Body></soapenv:Envelope>
> >>
> >>
> >> --Request1
> >> POST /axis2/services/Test HTTP/1.1
> >> Host: 127.0.0.1:8080
> >> User-Agent: Mozilla/5.0 (X11; U; Linux i686; de-DE; rv:1.7.13)
> >> Gecko/20060411 Firefox/1.0.8 SUSE/1.0.8-0.2
> >> Accept:
> >> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
> >> Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
> >> Accept-Encoding: gzip,deflate
> >> Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
> >> Keep-Alive: 300
> >> Connection: keep-alive
> >> SOAPAction: "urn:getDataSets"
> >> Content-Type: text/xml
> >> Content-Length: 300
> >> Cookie: JSESSIONID=B49F633D0325F2F9C7B0F315512EB45D
> >> Pragma: no-cache
> >> Cache-Control: no-cache
> >>
> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns3:getDataSets
> >> xmlns:ns3="http://webservice.Test.polo.sun/xsd"><ns3:dataSetGroup>Rawdata</ns3:dataSetGroup></ns3:getDataSets></soapenv:Body></soapenv:Envelope>
> >>
> >>
> >> HTTP/1.1 200 OK
> >> Server: Apache-Coyote/1.1
> >> Content-Type: text/xml;charset=UTF-8
> >> Transfer-Encoding: chunked
> >> Date: Mon, 12 Mar 2007 20:38:21 GMT
> >>
> >> ->Wrong response
> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getDatabaseResponse
> >> xmlns:ns="http://webservice.Test.polo.sun/xsd"><ns:return>Base1</ns:return><ns:return>Base2</ns:return></ns:getDatabaseResponse></soapenv:Body></soapenv:Envelope>
> >>
> >>
> >> ->Right response
> >> <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope
> >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:getDataSetsResponse
> >> xmlns:ns="http://webservice.Test.polo.sun/xsd"><ns:return>Base1</ns:return><ns:return>Base2</ns:return></ns:getDataSetsResponse></soapenv:Body></soapenv:Envelope>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> >> For additional commands, e-mail: axis-user-help@ws.apache.org
> >>
> >>
> >
> >
> > --
> > Paul Fremantle
> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
> >
> > http://bloglines.com/blog/paulfremantle
> > paul@wso2.com
> >
> > "Oxygenating the Web Service Platform", www.wso2.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-user-help@ws.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>


-- 
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
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