SOAP::Lite Methods

All methods that SOAP::Lite provides can be used for setting and retrieving values. If you provide no parameters, you will get the current value, and if parameters are provided, a new value will be assigned to the object, and the method in question will return the current object (if not stated otherwise). This is suitable for stacking these calls. For example:

  $lite = SOAP::Lite
    -> uri('http://simon.fell.com/calc')
    -> proxy('http://soap.4s4c.com/ssss4c/soap.asp')
  ;

The order is insignificant. You may call the new( ) method first, but if you don’t, SOAP::Lite will do it for you. Calling the new( ) method explicitly gives you additional syntax:

  $lite = SOAP::Lite->new(
    uri => 'http://simon.fell.com/calc',
    proxy => 'http://soap.4s4c.com/ssss4c/soap.asp'
  );

The SOAP::Lite methods are:

new( )

Accepts a hash with method names as keys. It will call the appropriate methods together with the passed values..

transport( )

Provides access to the SOAP/Transport object. You probably shouldn’t play with transport( ), since the object will be created for you.

serializer( )

Provides access to the SOAP/Serialization object. You probably shouldn’t play with serializer( ), since the object will be created for you.

endpoint( )

Lets you specify an endpoint without changing/loading the protocol module. This is useful for switching endpoints without switching protocols. You should call proxy( ) first. No checks for protocol equivalence will be made.

outputxml( )

If true, all methods will return raw XML code, which you can then parse with XML::Parser or a similar module.

autotype( )

Specifies whether the serializer will try to enable autotyping. Default is true.

readable( )

Specifies the format for the generated XML code, adding carriage returns and indentation for readability.

namespace( )

Specifies the default namespace for generated envelopes (SOAP-ENV by default).

encodingspace( )

Specifies the default encoding namespace for generated envelopes (SOAP-ENC by default).

encoding( )

Specifies the encoding for generated envelopes (UTF-8 by default).

typelookup( )

Gives you access to the typelookup table used for autotyping.

multirefinplace( )

Determines whether the serializer should put values for multireferences in the first occurrence of the reference. Default is false.

on_action( )

Specifies a handler (either globally or locally) to be triggered for an on_action event. The default handler is uri#method.

on_fault( )

Specifies a handler (either globally or locally) to be triggered for an on_fault event. The default behavior will die on a transport error and do nothing on other error conditions.

on_debug( )

Globally specifies a handler to be triggered for an on_debug event. Default behavior is to do nothing, since moving the +trace/+debug options is preferred.

on_nonserialized( )

Specifies a handler to be triggered for an on_nonserialized event. The default behavior is to produce a warning, if warnings are enabled for these events.

call( )

Provides an alternative interface for remote method calls, with additional options:

Prefixed method

If you want to specify a prefix for generated method’s element, try:

call('myprefix:method' => @parameters)
Access to any method

To access remote procedures that have the same names as methods of the SOAP::Lite object:

call(new => @parameters)
Implementation of OO interface

To use the object-oriented interface:

# You should specify uri(  )
my $soap = SOAP::Lite
  -> uri('http://my.own.site/CLASS')
  # ..... other parameters
;

my $obj = $soap->call(new => @parameters)->result;
print $soap->call(method => $obj)->result;
Ability to set method’s attributes

To specify attributes for a method element:

call(SOAP::Data->name('method')->attr({xmlns => 'mynamespace'})
    => @parameters)
self( )

Returns the object reference to global default object specified with the use SOAP::Lite ... interface. For example:

my $proxy = 'http://www.some.server';
my $soap - SOAP::Lite->proxy($proxy);
print $soap->self->proxy;

This prints http://www.some.server.

dispatch_from( )

The same as autodispatch, but doesn’t install the UNIVERSAL::AUTOLOAD handler. It installs only the AUTOLOAD handlers in specified classes.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.237.79