\Horde_Rpc_Soap

The Horde_Rpc_Soap class provides a PHP 5 Soap implementation of the Horde RPC system.

Copyright 2003-2017 Horde LLC (http://www.horde.org/)

See the enclosed file LICENSE for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.

Summary

Methods
Properties
Constants
__construct()
authorize()
getInput()
getResponse()
getResponseContentType()
sendOutput()
request()
factory()
$_server
$_allowedTypes
$_allowedMethods
$_serviceName
No constants found
No protected methods found
$_params
$_requireAuthorization
$_requestMissingAuthorization
$_request
$_logger
N/A
No private methods found
No private properties found
N/A

Properties

$_server

$_server : object

Resource handler for the SOAP server.

Type

object

$_allowedTypes

$_allowedTypes : array

List of types to emit in the WSDL.

Type

array

$_allowedMethods

$_allowedMethods : array

List of method names to allow.

Type

array

$_serviceName

$_serviceName : string

Name of the SOAP service to use in the WSDL.

Type

string

$_params

$_params : array

All driver-specific parameters.

Type

array

$_requireAuthorization

$_requireAuthorization : boolean

Do we need an authenticated user?

Type

boolean

$_requestMissingAuthorization

$_requestMissingAuthorization : boolean

Whether we should exit if auth fails instead of requesting authorization credentials.

Type

boolean

$_request

$_request : \Horde_Controller_Request_Http

Request variables, cookies etc.

..

Type

\Horde_Controller_Request_Http

$_logger

$_logger : \Horde_Log_Logger

Logging

Type

\Horde_Log_Logger

Methods

__construct()

__construct(\Horde_Controller_Request_Http  $request, array  $params = array()) 

SOAP server constructor

Parameters

\Horde_Controller_Request_Http $request

The request object.

array $params

A hash containing any additional configuration or connection parameters a subclass might need.

authorize()

authorize() : boolean

Check authentication. Different backends may handle authentication in different ways. The base class implementation checks for HTTP Authentication against the Horde auth setup.

Returns

boolean —

Returns true if authentication is successful. Should send appropriate "not authorized" headers or other response codes/body if auth fails, and take care of exiting.

getInput()

getInput() : mixed

Get the request body input. Different RPC backends can override this to return an open stream to php://stdin, for instance - whatever is easiest to handle in the getResponse() method.

The base class implementation looks for $HTTP_RAW_POST_DATA and returns that if it's available; otherwise, it returns the contents of php://stdin.

Returns

mixed —

The input - a string (default), a filehandle, etc.

getResponse()

getResponse(  $request) : string

Takes a SOAP request and returns the result.

Parameters

$request

Returns

string —

The XML encoded response from the server.

getResponseContentType()

getResponseContentType() : string

Returns the Content-Type of the response.

Returns

string —

The MIME Content-Type of the RPC response.

sendOutput()

sendOutput(string  $output) : void

Send the output back to the client

Parameters

string $output

The output to send back to the client. Can be overridden in classes if needed.

request()

request(string|\Horde_Url  $url, string  $method, array  $params, \SoapClient  $soap) : mixed

Builds a SOAP request and sends it to the SOAP server.

This statically called method is actually the SOAP client.

Parameters

string|\Horde_Url $url

Ignored.

string $method

The method to call.

array $params

A hash containing any necessary parameters for the method call.

\SoapClient $soap

A configured SoapClient object.

Throws

\Horde_Rpc_Exception

Returns

mixed —

The returned result from the method

factory()

factory(mixed  $driver,   $request, array  $params = null) : \Horde_Rpc

Attempts to return a concrete RPC server instance based on $driver.

Parameters

mixed $driver

The type of concrete Horde_Rpc subclass to return.

$request
array $params

A hash containing any additional configuration or connection parameters a subclass might need.

Returns

\Horde_Rpc

The newly created concrete Horde_Rpc server instance, or an exception if there is an error.