Main > Programming > Libraries >

SOAP::Data::ComplexType 0.041

SOAP::Data::ComplexType 0.041

Sponsored Links

SOAP::Data::ComplexType 0.041 Ranking & Summary

RankingClick at the star to rank
Ranking Level
User Review: 0 (0 times)
File size: 0.013 MB
Platform: Any Platform
License: Perl Artistic License
Price:
Downloads: 1137
Date added: 2006-09-14
Publisher: Eric Rybski

SOAP::Data::ComplexType 0.041 description

SOAP::Data::ComplexType is an abstract class for creating and handling complex SOAP::Data objects.

SYNOPSIS

package My::SOAP::Data::ComplexType::Foo;
use strict;
use warnings;
use SOAP::Data::ComplexType;
use vars qw(@ISA);
@ISA = qw(SOAP::Data::ComplexType);

use constant OBJ_URI => http://foo.bar.baz;
use constant OBJ_TYPE => ns1:myFoo;
use constant OBJ_FIELDS => {
field1 => [string, undef, undef],
field2 => [int, undef, undef],
field3 => [xsd:dateTime, undef, undef]
};

sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $data = shift;
my $obj_fields = shift;
$obj_fields = defined $obj_fields && ref($obj_fields) eq HASH ? {%{+OBJ_FIELDS}, %{$obj_fields}} : OBJ_FIELDS;
my $self = $class->SUPER::new($data, $obj_fields);
return bless($self, $class);
}

package My::SOAP::Data::ComplexType::Bar;
use strict;
use warnings;
use SOAP::Data::ComplexType;
use vars qw(@ISA);
@ISA = qw(SOAP::Data::ComplexType);

use constant OBJ_URI => http://bar.baz.uri;
use constant OBJ_TYPE => ns1:myBar;
use constant OBJ_FIELDS => {
val1 => [string, undef, undef],
val2 => [
[
My::SOAP::Data::ComplexType::Foo::OBJ_TYPE,
My::SOAP::Data::ComplexType::Foo::OBJ_FIELDS
],
My::SOAP::Data::ComplexType::Foo::OBJ_URI, undef
]
};

sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $data = shift;
my $obj_fields = shift;
$obj_fields = defined $obj_fields && ref($obj_fields) eq HASH ? {%{+OBJ_FIELDS}, %{$obj_fields}} : OBJ_FIELDS;
my $self = $class->SUPER::new($data, $obj_fields);
return bless($self, $class);
}

########################################################################
package main;

my $request_obj = My::SOAP::Data::ComplexType::Bar->new({
val1 => sometext,
val2 => {
field1 => moretext,
field2 => 12345,
field3 => 2005-10-26T12:00:00.000Z
}
});
print $request_obj->as_xml_data;

use SOAP::Lite;
my $result = SOAP::Lite
->uri($uri)
->proxy($proxy)
->somemethod(SOAP::Data->value($request_obj->as_soap_data))
->result;

#assuming the method returns an object of type Foo...
if (ref($result) eq Foo) {
my $result_obj = My::SOAP::Data::ComplexType::Foo->new($result);
print "$_=".$result_obj->$_."n" foreach keys %{+My::SOAP::Data::ComplexType::Foo::OBJ_FIELDS};
}

ABSTRACT

SOAP::Data::ComplexType defines a structured interface to implement classes that represent infinitely complex SOAP::Data objects. Object instances can dynamically generate complex SOAP::Data structures or pure XML as needed. Fields of an object may be easily accessed by making a method call with name of the field as the method, and field values can be changed after object construction by using the same method with one parameter.

Blessed objects returned by a SOAP::Lite methods SOAP::SOM->result may be used to reconstitute the object back into an equivalent ComplexType, thus solving shortcomings of SOAP::Lites handling of complex types and allowing users to access their objects in a much more abstract and intuive way. This is also exceptionally useful for applications that need use SOAP result objects in future SOAP calls.

DESCRIPTION

This module is intended to make it much easier to create complex SOAP::Data objects in an object-oriented class-structure, as users of SOAP::Lite must currently craft SOAP data structures manually. It uses SOAP::Data::Builder internally to store and generate object data.
I hope this module will greatly improve productivity of any SOAP::Lite programmer, especially those that deal with many complex datatypes or work with SOAP apps that implement inheritance.

SOAP::Data::ComplexType 0.041 Screenshot

Advertisements

SOAP::Data::ComplexType 0.041 Keywords

Bookmark SOAP::Data::ComplexType 0.041

Hyperlink code:
Link for forum:

SOAP::Data::ComplexType 0.041 Copyright

WareSeeker periodically updates pricing and software information of SOAP::Data::ComplexType 0.041 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of SOAP::Data::ComplexType 0.041 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed

Allok Video Splitter 2.2.0 Review:

Name (Required)
Email(Required)
Captcha
Featured Software

Want to place your software product here?
Please contact us for consideration.

Contact WareSeeker.com
Related Software
SOAP::Data is a Perl class that provides the means by which to explicitly manipulate and control all aspects of the way. Free Download
SOAP::Lite is a client and server side SOAP implementation. Free Download
Object::Relation::DataType is a Perl module with complex data types for TKP. Free Download
Kwiki::SOAP::Google is an experiment with SOAP request to Google through wafl. Free Download
Data::Serializer package contains modules that serialize data structures. Free Download
Thread::Apartment is an apartment threading wrapper for Perl objects. Free Download
OPAL is a high-level interface for low-level physics engines used in games, robotics simulations, and other 3D applications. Free Download
Java GForge SOAP Interface is an approach to access the GForge collaboration platform via Java. Free Download