I'm trying to implement a simple handler for SOAP requests. This is for an interface required by a client, so the choice of SOAP over XML-RPC, etc., is nothing I can change.
In order to figure out the way that such a request would be formatted, I added the following line to the handler script:
context.recordRequest(req=context.REQUEST)
"recordRequest" is a Z SQL Method that inserts the passed string into a log database. I then created a simple WSDL that pointed to my Zope handler, and invoked it using the Generic SOAP client tool available at http://www.soapclient.com/soaptest.html. The request was recorded, but none of the SOAP data was visible in the request! Here's what got stored in the log:
<snipped>
There is nothing listed under the "form" section - that's where the XML request should be, right? And the CONTENT-LENGTH certainly suggests that something was sent, but I can't see it anywhere in the request.
How do I access the posted XML from the SOAP request?
I think you want to use REQUEST['BODY'] to get the raw data. REQUEST.form is only populated with form variable when the data is form encoded. Brian Lloyd brian@zope.com V.P. Engineering 540.361.1716 Zope Corporation http://www.zope.com