SOAP::Data::ComplexType 0.041
Sponsored Links
SOAP::Data::ComplexType 0.041 Ranking & Summary
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.
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
SOAP
ComplexType
OBJ
ISA
ComplexType 0.041
TYPE
abstract class
fields
complex
objects
UNDEF
result
data
SOAP::Data::ComplexType
SOAPDataComplexType
SOAP::Data::ComplexType 0.041
Bookmark SOAP::Data::ComplexType 0.041
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
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
myspace falling objects
business objects
objects in the rear view mirror may appear closer than they are
necessary objects
hidden objects games
sims 2 objects
falling objects
sims objects
complex community federal credit union
results realty
objects that reflect light
fieldstone mortgage
xsd complextype
marshall fields
undefined
high def complexions
lottery results
results pk
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
Latest Software
Popular Software
Favourite Software