(Migrated) problem with payload of soap services

(This message has been automatically imported from the retired mailing list)

Hello, Dariusz
I having extraneous issues with request payload of services with channel
soap, the thing is that in self.request.payload there is nothing. This is
not happening always, and that’s the weird thing. I don’t know why when
begin to works just continues a long time without troubles. I debug a
little the problem and is in the function get_body_payload at file
zato.common.util.py. Right now I choice to treat directly the raw_request
to find the values that I need.
I will continue looking for this rare issue but if you can bring some light
to this it would be very helpful.
Here is the soap request that payload that is used in one of the services:

<soapenv:Envelope xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/”>
soapenv:Header/
soapenv:Body

0101
<code_institution>1119</code_institution>
2

</soapenv:Body>
</soapenv:Envelope>

I have test on 2 differents PCs and the same thing happens, with the same
data. I will let you know if I found the cause.

On Mon, Dec 2, 2013 at 3:40 AM, Dariusz Suchojad dsuch@zato.io wrote:

On 12/02/2013 06:08 AM, Axel Mendoza Pupo wrote:

The class BaseMessageHandler that in
/zato/server/connection/http_soap/channel.py in 1.1 is gone???
because I notice a bug in the call to the non existing
method _handle_quotes_soap_action at line 222. if you copy the same
method
from the class RequestDispatcher all is ok.

I think that there is a need for some minnor release beacuse bugs like
this
are living in the public release version on the site.

Hi Axel,

I’ve just added it to hotfixes so it’s fixed now.

Yes, the class is gone in GitHub master but 1.1 still uses it hence when
you were probably looking for it on GH you couldn’t find it.

thanks,


Dariusz Suchojad

https://zato.io
ESB, SOA and cloud integrations in Python

On 12/04/2013 05:08 PM, Axel Mendoza Pupo wrote:

I will continue looking for this rare issue but if you can bring some light
to this it would be very helpful.

I’ve never seen such a thing and I’d like to reproduce it on a side
environment so first I’d like to confirm that I understand it:

  • A deployed service can work flawlessly for a long time
  • Even though you’re not touching the service, i.e. it’s not redeployed,
    once in a while self.request.payload is empty (is it None or ‘’?)
  • The situation corrects itself without your intervention but then it
    happens later on again, seemingly at random

Some additional questions

  • Is it always about the same service or the same kind of services?
    Like, are they related in some way that other services aren’t?
  • Does the situation actually goes away itself or do you need to do
    anything?
  • Can you post (or send to me directly) a scaled-down version of the
    service for me to deploy locally?

many thanks,

On 12/04/2013 05:08 PM, Axel Mendoza Pupo wrote:

I will continue looking for this rare issue but if you can bring some light
to this it would be very helpful.

I’ve never seen such a thing and I’d like to reproduce it on a side
environment so first I’d like to confirm that I understand it:

  • A deployed service can work flawlessly for a long time
  • Even though you’re not touching the service, i.e. it’s not redeployed,
    once in a while self.request.payload is empty (is it None or ‘’?)
  • The situation corrects itself without your intervention but then it
    happens later on again, seemingly at random

Some additional questions

  • Is it always about the same service or the same kind of services?
    Like, are they related in some way that other services aren’t?
  • Does the situation actually goes away itself or do you need to do
    anything?
  • Can you post (or send to me directly) a scaled-down version of the
    service for me to deploy locally?

many thanks,

I’m so sorry, it seems to be my openerp call to authorize the query that
it’s returning False so the rest of the code does not get executed, simply
as that.
Zato it’s ok, we can continue now from here, now when I hand code the value
of auth variable to True in my code that do the call to OpenERP and now get
the proper response with data an all working

It was a False alarm and from Zato’s perspective all is working as
expected. I need to prune a little my query, log a little and returns a
more detailed response payload when the main flow is not reached

Cheers

On Wed, Dec 4, 2013 at 5:13 PM, Dariusz Suchojad dsuch@zato.io wrote:

On 12/04/2013 10:59 PM, Axel Mendoza Pupo wrote:

I’m so sorry, it seems to be my openerp call to authorize the query that
it’s returning False so the rest of the code does not get executed,
simply
as that
Zato it’s ok, we can continue now from here, I wrote you about request
payload just because finding the cause I began to log out in the
execution
chain and there was a moment when I focus on payload on utils.py that I
don’t saw anything returning from get_body_payload, and test it multiple
times and seems to be something broken, but now I hand code the value of
auth variable that do the call to OpenERP to True and now get the proper
response with data an all working

Heh, all good, no worries. It’s my pleasure to help you :slight_smile:

If I can ask for one thing - could you please send to the list a short
information that it was a false alarm and that from Zato’s perspective
it’s cool?

thanks,


Dariusz Suchojad

https://zato.io
ESB, SOA and cloud integrations in Python