[dev] WSDL binding in the SOAP server
Jan Schneider
jan at horde.org
Mon Aug 23 07:32:05 PDT 2004
Zitat von John Morrissey <jwm at horde.net>:
> 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?
The WSDL generation should work without being authenticated, right? And
parallel requests only block if *both* are using sessions, right? The you
should be able to put something like
if (isset($_GET['wsdl'])) {
$session_control = 'none';
}
before lib/base.php gets included.
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting.php
More information about the dev
mailing list