import SOAP-WSDL 2.00.04 from CPAN

git-cpan-module:   SOAP-WSDL
git-cpan-version:  2.00.04
git-cpan-authorid: MKUTTER
git-cpan-file:     authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.04.tar.gz
This commit is contained in:
Martin Kutter
2009-12-12 19:48:44 -08:00
committed by Michael G. Schwern
parent e58a27e2ad
commit c3e3d1908e
80 changed files with 2351 additions and 802 deletions
+41 -17
View File
@@ -10,7 +10,7 @@ use Carp;
use Scalar::Util qw(blessed);
use SOAP::WSDL::Client;
use SOAP::WSDL::Expat::WSDLParser;
use Class::Std::Fast;
use Class::Std::Fast constructor => 'none';
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
use LWP::UserAgent;
@@ -18,7 +18,6 @@ use version; our $VERSION= qv('2.00.03');
my %no_dispatch_of :ATTR(:name<no_dispatch>);
my %wsdl_of :ATTR(:name<wsdl>);
my %proxy_of :ATTR(:name<proxy>);
my %autotype_of :ATTR(:name<autotype>);
my %outputxml_of :ATTR(:name<outputxml> :default<0>);
my %outputtree_of :ATTR(:name<outputtree>);
@@ -42,7 +41,6 @@ my %LOOKUP = (
no_dispatch => \%no_dispatch_of,
class_resolver => \%class_resolver_of,
wsdl => \%wsdl_of,
proxy => \%proxy_of,
autotype => \%autotype_of,
outputxml => \%outputxml_of,
outputtree => \%outputtree_of,
@@ -94,12 +92,30 @@ for my $method (keys %LOOKUP ) {
}
my $ident = ident $self;
$self->wsdlinit() if ($wsdl_of{ $ident });
$client_of{ $ident } = SOAP::WSDL::Client->new();
$self->wsdlinit() if ($wsdl_of{ $ident });
return $self;
}
}
sub set_proxy {
my $self = shift;
return $self->get_client()->set_proxy(@_);
}
sub get_proxy {
my $self = shift;
return $self->get_client()->get_proxy();
}
sub proxy {
my $self = shift;
if (@_) {
return $self->set_proxy(@_);
}
return $self->get_proxy();
}
sub wsdlinit {
my ($self, %opt) = @_;
my $ident = ident $self;
@@ -132,6 +148,15 @@ sub wsdlinit {
$servicename_of{ $ident } = $opt{servicename} if $opt{servicename};
$portname_of{ $ident } = $opt{portname} if $opt{portname};
$self->_wsdl_init_methods();
# pass-through keep_alive if we need it...
$self->get_client()->set_proxy(
$port_of{ $ident }->first_address()->get_location(),
$keep_alive_of{ $ident } ? (keep_alive => 1) : (),
);
return $self;
} ## end sub wsdlinit
@@ -151,6 +176,7 @@ sub _wsdl_get_port :PRIVATE {
? $service_of{ $ident }->get_port( $ns, $portname_of{ $ident } )
: $port_of{ $ident } = $service_of{ $ident }->get_port()->[ 0 ];
}
sub _wsdl_get_binding :PRIVATE {
my $self = shift;
my $ident = ident $self;
@@ -160,6 +186,7 @@ sub _wsdl_get_binding :PRIVATE {
or croak "no binding found for ", $port->get_binding();
return $binding_of{ $ident };
}
sub _wsdl_get_portType :PRIVATE {
my $self = shift;
my $ident = ident $self;
@@ -169,6 +196,7 @@ sub _wsdl_get_portType :PRIVATE {
or croak "cannot find portType for " . $binding->get_type();
return $porttype_of{ $ident };
}
sub _wsdl_init_methods :PRIVATE {
my $self = shift;
my $ident = ident $self;
@@ -259,12 +287,6 @@ sub call {
my $client = $client_of{ $ident };
# pass-through keep_alive if we need it...
$client->set_proxy( $proxy_of{ $ident }
|| $port_of{ $ident }->first_address()->get_location(),
$keep_alive_of{ $ident } ? (keep_alive => 1) : (),
);
$client->set_no_dispatch( $no_dispatch_of{ $ident } );
$client->set_outputxml( $outputxml_of{ $ident } ? 1 : 0 );
@@ -772,8 +794,6 @@ Peter Orvos, Mark Overmeer, Jon Robens, Isidro Vila Verde and Glenn Wood
(in alphabetical order) spotted bugs and/or suggested improvements in
the 1.2x releases.
Noah Robin contirbuted lots of documentation fixes, and the mod_perl server.
JT Justman and Noah Robin provided early feedback and bug reports for
the 2.xx pre-releases.
@@ -786,13 +806,17 @@ Matt S. Trout encouraged me "to get a non-dev-release out."
CPAN Testers provided most valuable (automated) feedback. Thanks a lot.
Numerous people sent me their real-world WSDL files for testing. Thank you.
Numerous people sent me their real-world WSDL files and error reports for
testing. Thank you.
Noah Robin contributed lots of documentation fixes, and the mod_perl server,
and eventually joined SOAP::WSDL's developement. Thanks.
Mark Overmeer wrote XML::Compile::SOAP - competition is good for business.
Paul Kulchenko and Byrne Reese wrote and maintained SOAP::Lite and
thus provided a base (and counterpart) for SOAP::WSDL.
Mark Overmeer wrote XML::Compile::SOAP - competition is good for business.
=head1 LICENSE AND COPYRIGHT
Copyright 2004-2008 Martin Kutter.
@@ -806,9 +830,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 694 $
$LastChangedBy: kutterma $
$Id: WSDL.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: WSDL.pm 694 2008-05-25 21:06:56Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
=cut
+25 -12
View File
@@ -5,11 +5,12 @@ use Class::Std::Fast::Storable;
use List::Util qw(first);
use Carp qw(croak carp confess);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %id_of :ATTR(:name<id> :default<()>);
my %lang_of :ATTR(:name<lang> :default<()>);
my %name_of :ATTR(:name<name> :default<()>);
my %namespace_of :ATTR(:name<namespace> :default<()>);
my %documentation_of :ATTR(:name<documentation> :default<()>);
my %annotation_of :ATTR(:name<annotation> :default<()>);
my %targetNamespace_of :ATTR(:name<targetNamespace> :default<()>);
@@ -24,7 +25,6 @@ sub namespaces {
sub START {
my ($self, $ident, $arg_ref) = @_;
#$xmlns_of{ $ident }->{ '#default' } = $self->get_xmlns()->{ '#default' };
$xmlns_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace';
$namespaces_of{ $ident }->{ '#default' } = $self->get_xmlns()->{ '#default' };
$namespaces_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace';
@@ -38,10 +38,11 @@ sub DEMOLISH {
return;
}
sub STORABLE_freeze_pre :CUMULATIVE {};
sub STORABLE_freeze_post :CUMULATIVE {};
sub STORABLE_thaw_pre :CUMULATIVE {};
sub STORABLE_thaw_post :CUMULATIVE { return $_[0] };
#
#sub STORABLE_freeze_pre :CUMULATIVE {};
#sub STORABLE_freeze_post :CUMULATIVE {};
#sub STORABLE_thaw_pre :CUMULATIVE {};
#sub STORABLE_thaw_post :CUMULATIVE { return $_[0] };
sub _accept {
my $self = shift;
@@ -109,15 +110,24 @@ sub AUTOMETHOD {
sub init {
my ($self, @args) = @_;
foreach my $value (@args)
{
foreach my $value (@args) {
croak @args if (not defined ($value->{ Name }));
if ($value->{ Name } =~m{^xmlns\:}xms) {
# add namespaces
$xmlns_of{ ident $self }->{ $value->{ LocalName } } = $value->{ Value };
next;
}
# check for namespae-qualified attributes.
# neither XML Schema, nor WSDL1.1, nor the SOAP binding allow
# namespace-qualified attribute names
my ($ns, $localname) = split /\|/, $value->{ Name };
if ($ns) {
warn "found unrecognised attribute \{$ns}$localname (ignored)";
next;
}
my $name = $value->{ LocalName };
my $method = "set_$name";
$self->$method( $value->{ Value } );
@@ -128,12 +138,15 @@ sub init {
sub expand {
my ($self, $qname) = @_;
my $ns_of = $self->namespaces();
my $parent;
if (not $qname=~m{:}xm) {
if (defined $ns_of->{ '#default' }) {
return $self->get_targetNamespace(), $qname;
# return $ns_of->{ '#default' }, $qname;
# TODO check. Returning the targetNamespace for the default ns
# is probably wrong
#return $self->get_targetNamespace(), $qname;
return $ns_of->{ '#default' }, $qname;
}
if (my $parent = $self->get_parent()) {
if ($parent = $self->get_parent()) {
return $parent->expand($qname);
}
die "un-prefixed element name <$qname> found, but no default namespace set\n"
@@ -142,7 +155,7 @@ sub expand {
my ($prefix, $localname) = split /:/x, $qname;
return ($ns_of->{ $prefix }, $localname) if ($ns_of->{ $prefix });
if (my $parent = $self->get_parent()) {
if ($parent = $self->get_parent()) {
return $parent->expand($qname);
}
croak "unbound prefix $prefix found for $prefix:$localname. Bound prefixes are "
+1 -1
View File
@@ -5,7 +5,7 @@ use Class::Std::Fast::Storable;
use List::Util qw(first);
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %operation_of :ATTR(:name<operation> :default<()>);
my %type_of :ATTR(:name<type> :default<()>);
+9 -2
View File
@@ -65,6 +65,13 @@ SOAP::WSDL::Client::Base - Factory class for WSDL-based SOAP access
Factory class for creating interface classes. Should probably be renamed to
SOAP::WSDL::Factory::Interface...
=head1 METHODS
=head2 call
Abstraction layer method between the generated interfaces and
L<SOAP::WSDL::Client|SOAP::WSDL::Client>.
=head1 LICENSE AND COPYRIGHT
Copyright 2004-2007 Martin Kutter.
@@ -78,9 +85,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 689 $
$LastChangedBy: kutterma $
$Id: Base.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: Base.pm 689 2008-05-23 22:11:46Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $
=cut
+4 -4
View File
@@ -72,7 +72,7 @@ Returns the service matching the namespace/localname pair passed as arguments.
Accessors/Mutators for accessing / setting the E<gt>bindingE<lt> child
element(s).
=head2 find_service
=head2 find_binding
Returns the binding matching the namespace/localname pair passed as arguments.
@@ -94,7 +94,7 @@ Returns the portType matching the namespace/localname pair passed as arguments.
Accessors/Mutators for accessing / setting the E<gt>messageE<lt> child
element(s).
=head2 find_service
=head2 find_message
Returns the message matching the namespace/localname pair passed as arguments.
@@ -118,9 +118,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 689 $
$LastChangedBy: kutterma $
$Id: Definitions.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: Definitions.pm 689 2008-05-23 22:11:46Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Definitions.pm $
=cut
+14 -3
View File
@@ -139,9 +139,20 @@ a parse error appears
=back
=head1 METHODS
=head2 deserialize
Deserializes the message.
=head2 generate_fault
Generates a L<SOAP::WSDL::SOAP::Typelib::Fault11|SOAP::WSDL::SOAP::Typelib::Fault11>
object and returns it.
=head1 LICENSE AND COPYRIGHT
Copyright 2004-2007 Martin Kutter.
Copyright 2004-2008 Martin Kutter.
This file is part of SOAP-WSDL. You may distribute/modify it under
the same terms as perl itself.
@@ -152,9 +163,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 689 $
$LastChangedBy: kutterma $
$Id: Hash.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: Hash.pm 689 2008-05-23 22:11:46Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/Hash.pm $
=cut
+1 -1
View File
@@ -6,7 +6,7 @@ use XML::Parser::Expat;
# TODO: convert to Class::Std::Fast based class - hash based classes suck.
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
sub new {
my ($class, $arg_ref) = @_;
+3 -3
View File
@@ -6,7 +6,7 @@ use XML::Parser::Expat;
use SOAP::WSDL::Expat::MessageParser;
use base qw(SOAP::WSDL::Expat::MessageParser);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
sub parse_start {
my $self = shift;
@@ -69,9 +69,9 @@ the same terms as perl itself
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 701 $
$LastChangedBy: kutterma $
$Id: MessageStreamParser.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: MessageStreamParser.pm 701 2008-06-05 19:19:16Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
=cut
+36 -24
View File
@@ -140,7 +140,7 @@ sub _initialize {
# TODO skip non-XML Schema namespace tags
$parser->setHandlers(
Start => sub {
my ($parser, $localname, %attrs) = @_;
my ($parser, $localname, @attrs) = @_;
$characters = q{};
my $action = SOAP::WSDL::TypeLookup->lookup(
@@ -154,10 +154,11 @@ sub _initialize {
eval "require $action->{ class }";
croak $@ if ($@);
my $obj = $action->{ class }->new({ parent => $current,
# xmlns => { '#default' => $parser->namespace($localname) }
my $obj = $action->{ class }->new({
parent => $current,
namespace => $parser->namespace($localname),
})
->init( _fixup_attrs( $parser, %attrs ) );
->init( _fixup_attrs( $parser, @attrs ) );
if ($current) {
# inherit namespace, but don't override
@@ -180,7 +181,7 @@ sub _initialize {
$current = $obj;
}
elsif ($action->{ type } eq 'PARENT') {
$current->init( _fixup_attrs($parser, %attrs) );
$current->init( _fixup_attrs($parser, @attrs) );
}
elsif ($action->{ type } eq 'METHOD') {
my $method = $action->{ method };
@@ -196,12 +197,12 @@ sub _initialize {
? ref $action->{ value }
? @{ $action->{ value } }
: ($action->{ value })
: _fixup_attrs($parser, %attrs)
: _fixup_attrs($parser, @attrs)
);
}
elsif ($action->{type} eq 'HANDLER') {
my $method = $self->can($action->{method});
$method->($self, $current, %attrs);
$method->($self, $current, @attrs);
}
else {
# TODO replace by hash lookup of known namespaces.
@@ -249,30 +250,41 @@ sub _initialize {
# make attrs SAX style
sub _fixup_attrs {
my ($parser, %attrs_of) = @_;
my ($parser, @attrs) = @_;
my @attrs_from = map {
$_ =
{
Name => $_,
Value => $attrs_of{ $_ },
LocalName => $_
}
} keys %attrs_of;
my @attr_key_from = ();
my @attr_value_from = ();
while (@attrs) {
push @attr_key_from, shift @attrs;
push @attr_value_from, shift @attrs;
}
my @attrs_from;
# add xmlns: attrs. expat eats them.
#
# add namespaces before attributes: Attributes may be namespace-qualified
#
push @attrs_from, map {
# ignore xmlns=FOO namespaces - must be XML schema
# # Other nodes should be ignored somewhere else
# ($_ eq '#default')
# ? ()
# :
{
Name => "xmlns:$_",
Value => $parser->expand_ns_prefix( $_ ),
LocalName => $_
}
} $parser->new_ns_prefixes();
push @attrs_from, map {
$_ =
{
Name => defined $parser->namespace($_)
? $parser->namespace($_) . '|' . $_
: '|' . $_,
Value => shift @attr_value_from, # $attrs_of{ $_ },
LocalName => $_
}
} @attr_key_from;
return @attrs_from;
}
@@ -310,10 +322,10 @@ the same terms as perl itself
=head1 Repository information
$Id: WSDLParser.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: WSDLParser.pm 688 2008-05-23 21:01:54Z kutterma $
$LastChangedDate: 2008-05-18 22:17:56 +0200 (So, 18 Mai 2008) $
$LastChangedRevision: 677 $
$LastChangedDate: 2008-05-23 23:01:54 +0200 (Fr, 23 Mai 2008) $
$LastChangedRevision: 688 $
$LastChangedBy: kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/WSDLParser.pm $
+6 -6
View File
@@ -39,7 +39,7 @@ sub get_transport {
if (defined $registered_transport_of{ $scheme }) {
no strict qw(refs);
defined %{ "$registered_transport_of{ $scheme }::" } or
$registered_transport_of{ $scheme }->can('new') or
eval "require $registered_transport_of{ $scheme }"
or die "Cannot load transport class $registered_transport_of{ $scheme } : $@";
@@ -60,11 +60,11 @@ sub get_transport {
no strict qw(refs);
# behaves interestingly different under different versions of perl
# maybe true even if it's not available
defined %{ "$SOAP_LITE_TRANSPORT_OF{ $scheme }::" }
my $protocol_class = $SOAP_LITE_TRANSPORT_OF{ $scheme } . '::Client';
$protocol_class->can('new')
or eval "require $SOAP_LITE_TRANSPORT_OF{ $scheme }"
or last SOAP_Lite;
my $protocol_class = $SOAP_LITE_TRANSPORT_OF{ $scheme } . '::Client';
# may fail if it's not available
my $transport = eval { $protocol_class->new( %attrs ) }
or last SOAP_Lite;
@@ -74,7 +74,7 @@ sub get_transport {
if (exists $SOAP_WSDL_TRANSPORT_OF{ $scheme }) {
no strict qw(refs);
defined %{ "$SOAP_WSDL_TRANSPORT_OF{ $scheme }::"}
$SOAP_WSDL_TRANSPORT_OF{ $scheme }->can('new')
or eval "require $SOAP_WSDL_TRANSPORT_OF{ $scheme }"
or die "Cannot load transport class $SOAP_WSDL_TRANSPORT_OF{ $scheme } : $@";
return $SOAP_WSDL_TRANSPORT_OF{ $scheme }->new( %attrs );
@@ -243,9 +243,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 679 $
$LastChangedBy: kutterma $
$Id: Transport.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: Transport.pm 679 2008-05-18 21:18:03Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
=cut
+1 -1
View File
@@ -128,7 +128,7 @@ You cannot suffix your types by some rule yet...
Copyright 2008 Martin Kutter.
This library is free software. You may distribute/modify it under
This file is part of SOAP-WSDL. You may distribute/modify it under
the same terms as perl itself
=head1 AUTHOR
+1 -1
View File
@@ -5,7 +5,7 @@ use Class::Std::Fast::Storable;
use Carp;
use SOAP::WSDL::Generator::PrefixResolver;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %tt_of :ATTR(:get<tt>);
my %definitions_of :ATTR(:name<definitions> :default<()>);
@@ -4,7 +4,7 @@ use warnings;
use Carp qw(confess);
use Class::Std::Fast::Storable constructor => 'none';
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %namespace_prefix_map_of :ATTR(:name<namespace_prefix_map> :default<{}>);
my %namespace_map_of :ATTR(:name<namespace_map> :default<{}>);
@@ -30,14 +30,17 @@ __PACKAGE__->_factory(
{
[% FOREACH element = complexType.get_element;
IF (ref = element.get_ref);
element = definitions.first_types.find_element(element.expand( element.get_ref ));
END;
IF (type = element.get_type);
ref_element = definitions.first_types.find_element(element.expand( ref ));
-%]
'[% XSD.perl_var_name(XSD.element_name(ref_element)) %]' => '[% XSD.create_xsd_name(ref_element) %]',
[% ELSIF (type = element.get_type);
element_type = definitions.first_types.find_type(complexType.expand( type ));
IF (! element_type);
type_name = complexType.expand( type );
THROW NOT_FOUND, "${ type_name.0 } ${ type_name.1 } not found";
END; -%]
END;
-%]
'[% XSD.perl_var_name(XSD.element_name(element)) %]' => '[% XSD.create_xsd_name(element_type) %]',
[% ELSE;
IF (element.first_simpleType);
@@ -4,11 +4,11 @@ use base qw(
[%
base_type = definitions.get_types.0.find_type(simpleType.expand(base));
IF ! base_type;
THROW NOT_FOUND "No base type in " _ simpleType.get_parent.get_name;
THROW NOT_FOUND "base type $base not found." _ simpleType.get_parent.get_name;
END;
XSD.create_xsd_name(base_type) %]);
[% ELSIF (type = simpleType.first_simpleType() );
INCLUDE simpleType/atomicType.tt(type = type);
ELSE;
THROW "neither base nor atomic type - don't know what to do" %]
[% END %]
[% END %]
+1 -1
View File
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Class::Std::Fast::Storable;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %definitions_of :ATTR(:name<definitions> :default<()>);
my %type_prefix_of :ATTR(:name<type_prefix> :default<()>);
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable;
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %part_of :ATTR(:name<part> :default<[]>);
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use base qw(SOAP::WSDL::Base);
use Class::Std::Fast::Storable;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %location :ATTR(:name<location> :default<()>);
1;
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use base qw(SOAP::WSDL::Base);
use Class::Std::Fast::Storable;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %use_of :ATTR(:name<use> :default<q{}>);
my %namespace_of :ATTR(:name<namespace> :default<q{}>);
+1 -1
View File
@@ -3,6 +3,6 @@ use strict;
use warnings;
use base qw(SOAP::WSDL::Header);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
1;
+33 -1
View File
@@ -6,7 +6,7 @@ use Scalar::Util qw(blessed);
use SOAP::WSDL::Factory::Deserializer;
use SOAP::WSDL::Factory::Serializer;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %dispatch_to_of :ATTR(:name<dispatch_to> :default<()>);
my %action_map_ref_of :ATTR(:name<action_map_ref> :default<{}>);
@@ -199,6 +199,38 @@ SOAP::Server's deserializer create one for you:
You may use any other object as exception, provided it has a
serialize() method which returns the object's XML representation.
=head2 Subclassing
To write a transport-specific SOAP Server, you should subclass
SOAP::WSDL::Server.
See the C<SOAP::WSDL::Server::*> modules for examples.
A SOAP Server must call the following method to actually handle the request:
=head3 handle
Handles the SOAP request.
Returns the response message as XML.
Expects a C<HTTP::Request> object as only parameter.
You may use any other object as parameter, as long as it implements the
following methods:
=over
=item * header
Called as header('SOAPAction'). Must return the corresponding HTTP header.
=item * content
Returns the request message
=back
=head1 LICENSE AND COPYRIGHT
Copyright 2004-2008 Martin Kutter.
+2 -2
View File
@@ -266,8 +266,8 @@ Thanks!
=head1 LICENSE AND COPYRIGHT
This library is free software. You may distribute/modify it under
the same terms as perl itself.
This file is part of SOAP-WSDL. You may distribute/modify it under
the same terms as perl itself
=head1 AUTHOR
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable;
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %port_of :ATTR(:name<port> :default<[]>);
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'basic';
use SOAP::WSDL::Factory::Transport;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
# register on loading
SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable;
use SOAP::WSDL::Factory::Transport;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
SOAP::WSDL::Factory::Transport->register( https => __PACKAGE__ );
+1 -1
View File
@@ -5,7 +5,7 @@ use SOAP::WSDL::XSD::Schema::Builtin;
use Class::Std::Fast::Storable;
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %schema_of :ATTR(:name<schema> :default<[]>);
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<enumeration value="">
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable;
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
# id provided by Base
# name provided by Base
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<enumeration value="">
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<pattern value="">
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<minExclusive value="">
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<minExclusive value="">
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<minExclusive value="">
+3 -3
View File
@@ -6,7 +6,7 @@ use SOAP::WSDL::XSD::Schema;
use SOAP::WSDL::XSD::Builtin;
use base qw(SOAP::WSDL::XSD::Schema);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
# all builtin types - add validation (e.g. content restrictions) later...
my %BUILTINS = (
@@ -98,9 +98,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 701 $
$LastChangedBy: kutterma $
$Id: Builtin.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: Builtin.pm 701 2008-06-05 19:19:16Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Schema/Builtin.pm $
=cut
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable;
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %length_of :ATTR(:name<length> :default<[]>);
my %minLength_of :ATTR(:name<minLength> :default<[]>);
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<totalDigits value="">
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use base qw(SOAP::WSDL::XSD::Typelib::Element);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
sub start_tag {
# my ($self, $opt, $value) = @_;
+1 -1
View File
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Class::Std::Fast::Storable;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
use SOAP::WSDL::XSD::Typelib::Builtin::anyType;
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
+1 -1
View File
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
use version; our $VERSION= qv('2.00.03');
use version; our $VERSION= qv('2.00.04');
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
+1 -1
View File
@@ -6,7 +6,7 @@ use Date::Format;
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
use version; our $VERSION=qv('2.00.03');
use version; our $VERSION=qv('2.00.04');
sub set_value {
# use set_value from base class if we have a XML-Time format
+3 -3
View File
@@ -3,7 +3,7 @@ package SOAP::WSDL::XSD::Typelib::Element;
use Class::Std::Fast::Storable constructor => 'none';
use strict;
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
my %NAME;
my %NILLABLE;
@@ -176,9 +176,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 677 $
$Rev: 701 $
$LastChangedBy: kutterma $
$Id: Element.pm 677 2008-05-18 20:17:56Z kutterma $
$Id: Element.pm 701 2008-06-05 19:19:16Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/Element.pm $
=cut
+1 -1
View File
@@ -4,7 +4,7 @@ use warnings;
use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::Base);
use version; our $VERSION = qv('2.00.03');
use version; our $VERSION = qv('2.00.04');
#<pattern value="">