[dev] WSDL binding in the SOAP server

John Morrissey jwm at horde.net
Mon Aug 23 06:50:28 PDT 2004


I've been using the SOAP server more extensively lately, and noticed that
complex types aren't being translated in SOAP responses - they're typed as a
"Struct" instead of the complex return type specified for the API call.

In order for this translation to happen, we need to bind our generated WSDL
to the SOAP server, a la:

$this->_server->bindWSDL($url);

in Horde_RPC_soap. The complex return types defined in $_services[]['type']
are then used in SOAP responses.

The problem is that SOAP::Server doesn't provide a way to bind WSDL text,
it'll only take the URL to your WSDL. Since the PHP session is locked when
the SOAP request comes in (with file-based sessions), we can't just fetch
rpc.php?wsdl using the same session ID presented for the SOAP request - it
will hang.

Any thoughts on how we can fix this?

john
-- 
John Morrissey          _o            /\         ----  __o
jwm at horde.net        _-< \_          /  \       ----  <  \,
www.horde.net/    __(_)/_(_)________/    \_______(_) /_(_)__


More information about the dev mailing list