Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 30.159.440 Times

SOAP::Data::ComplexType 0.041

  Date Added: February 20, 2010  |  Visits: 741

SOAP::Data::ComplexType

Report Broken Link
Printer Friendly Version


Product Homepage
Download (76 downloads)

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..

Requirements: No special requirements
Platforms: Linux
Keyword: Abstract Class Class Complex Complextype Data Fields Isa Libraries Obj Result Soap Soapdatacomplextype Undef Uri
Users rating: 0/10

License: Freeware Size: 13.31 KB
SOAP::DATA::COMPLEXTYPE RELATED
Libraries  -  Persistent::DBI 0.50
Persistent::DBI is an Abstract Persistent Class implemented using a DBI Data Source. SYNOPSIS ### we are a subclass of ... ### use Persistent::DBI; @ISA = qw(Persistent::DBI); ABSTRACT This is an abstract class used by the Persistent...
10.24 KB  
Libraries  -  XML::LibXML::Node 1.61003
XML::LibXML::Node is an abstract base class of XML::LibXML nodes. SYNOPSIS $name = $node->nodeName; $node->setNodeName( $newName ); $bool = $node->isSameNode( $other_node ); $bool = $node->isEqual( $other_node ); $content =...
256 KB  
Libraries  -  bit 0.4.1
bit is a C++ library for manipulating buffers containing data fields that are not octet (byte) aligned. Binary data formats containing fields that are not octet aligned are still common. One need look no further than the IP header that is...
 
Database Tools  -  Result Class 1.0
Rule based system for taking data associated with a database result id and pushing through specified templates.Result Class allows for significant reuse of code, particularly forms.
10 KB  
Libraries  -  bitgtkmm 0.4.0
bitgtkmm is a C++ library for manipulating buffers containing data fields that are not octet (byte) aligned. bitgtkmm is a collection of gtkmm widgets for displaying and manipulating data structures in the bit library. Installation: The...
 
Libraries  -  Class::Meta 0.53
Class::Meta is a Perl class automation, introspection, and data validation. SYNOPSIS Generate a class: package MyApp::Thingy; use strict; use Class::Meta; use Class::Meta::Types::String; use Class::Meta::Types::Numeric; BEGIN { #...
61.44 KB  
Libraries  -  PHP Advanced Graphing Class 1.4
PHP Advanced Graphing Class is a PHP class that can be used to generate line, bar, and 2D/3D pie graphs from multiple data sets. PHP Advanced Graphing Class offers many style and data formatting options. The graphs can be built from data defined...
 
Libraries  -  Class::DBI::DataMigration::Mapping 0.02
Class::DBI::DataMigration::Mapping is an abstract parent class for objects that map a single column in a single row from the source database to the target database. Synopsis use Class::DBI::DataMigration::Mapping; # ... Later, when building...
12.29 KB  
Libraries  -  Class::Maker 0.05.18
Class::Maker Perl module contains classes, reflection, schema, serialization, attribute- and multiple inheritance. SYNOPSIS use Class::Maker qw(class); class Human, { isa => [qw( ParentClass )], public => { string => [qw(name lastname)],...
49.15 KB  
Libraries  -  Regexp::Log 0.04
Regexp::Log is a Perl base class for log files regexp builders. SYNOPSIS my $foo = Regexp::Log::Foo->new( format => custom %a %b %c/%d, capture => [qw( host code )], ); # the format() and capture() methods can be used to set or get...
8.19 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.12.2
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB