[dev] wsdl complextypes

Vijay Mahrra vijay.mahrra at es.easynet.net
Thu Apr 27 02:21:51 PDT 2006


Hello John,

Thanks very much for the pointers on how to implement complex types.  Our
custom module is interfacing with a client that also uses the AXIS API with
WSDL2Java (and in future with PEAR SOAP).

The horde application we wrote was for an ADSL coverage tool which took in an
array of phone numbers and returned a formatted list of results for numbers
here in Spain.

Our 'coverage' module api file looked looked like this in the end FYI

$_types['coverageResults'] = array(
    'number'   => 'string',
    'initial_range' => 'string',
    'final_range' => 'string',
    'miga' => 'string',
    'final_range' => 'string',
    'miga' => 'string',
    'central' => 'string',
    'demarcacion' => 'string',
    'services' => 'string',
);

$_types['coverageResultsArray'] = array(
    array('item' => '{urn:horde}coverage_coverageResults')
);

$_services['check'] = array(
  'args' => array('numbers' => '{urn:horde}stringArray'),
  'checkperms' => false,
  'type' => '{urn:horde}coverage_coverageResultsArray'
);

function _coverage_check($numbers) {
// code that returns an array of results
    return array($return);
}

Hope someone else finds this useful in future.  We don't expect as much
traffic with this tool as you have, but it's useful to know the capabilities.

We are also working on a horde module with soap interface that interfaces with
RT, creating via email and retrieving via the RT database is also using
complexTypes and it would be interesting to hear if anyone has done anything
similar.

Vijay

John Morrissey wrote:
> You can define complex types in the $_types array; here's an example from an
> application I have:
> 
>> Is anyone on the list working with the rpc interface, whether through soap
>> or rest or whatever?  Anyone have any experience of successfully accessing
>> the generated horde wsdl with non-php clients?
> 
> FWIW, we receive several thousand SOAP transactions through our Horde-based
> application every day. The remote end is a J2EE application using the Axis
> toolkit.



More information about the dev mailing list