Compare commits

...
1 Commits
Author SHA1 Message Date
Martin Kutter fa4d5dd884 import SOAP-WSDL 2.00_20 from CPAN
git-cpan-module:   SOAP-WSDL
git-cpan-version:  2.00_20
git-cpan-authorid: MKUTTER
git-cpan-file:     authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_20.tar.gz
2009-12-12 19:48:05 -08:00
20 changed files with 368 additions and 322 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ $build = Module::Build->new(
create_makefile_pl => 'passthrough', create_makefile_pl => 'passthrough',
dist_abstract => 'SOAP with WSDL support', dist_abstract => 'SOAP with WSDL support',
dist_name => 'SOAP-WSDL', dist_name => 'SOAP-WSDL',
dist_version => '2.00_19', dist_version => '2.00_20',
module_name => 'SOAP::WSDL', module_name => 'SOAP::WSDL',
license => 'artistic', license => 'artistic',
requires => { requires => {
+20 -1
View File
@@ -1,4 +1,4 @@
Release notes for SOAP::WSDL 2.00_19 Release notes for SOAP::WSDL 2.00_20
------- -------
I'm proud to present a new pre-release version of SOAP::WSDL. I'm proud to present a new pre-release version of SOAP::WSDL.
@@ -33,6 +33,25 @@ Features:
The following changes have been made: The following changes have been made:
2.00_20
----
The following features were added (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
* [ 1815646 ] Only include last part of port name in interface
* [ 1815648 ] Methods with empty body cannot be called as ->method()
* [ 1815651 ] Empty complexType definitions not supported
The following bugs have been fixed (the numbers in square brackets are the
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
* [ 1815643 ] ComplexTypes cannot be freezed/thawed
The following uncategorized improvements have been made:
* WSDL definitions are decoded into utf8
* fixed tests to use correct path on windows
2.00_19 2.00_19
---- ----
The following features were added (the numbers in square brackets are the The following features were added (the numbers in square brackets are the
+10 -10
View File
@@ -1,11 +1,9 @@
--- ---
name: SOAP-WSDL name: SOAP-WSDL
version: 2.00_19 version: 2.00_20
author: [] author:
abstract: SOAP with WSDL support abstract: SOAP with WSDL support
license: artistic license: artistic
resources:
license: http://opensource.org/licenses/artistic-license.php
requires: requires:
Class::Std: v0.0.8 Class::Std: v0.0.8
Class::Std::Storable: 0 Class::Std::Storable: 0
@@ -20,6 +18,12 @@ requires:
Template: 0 Template: 0
Term::ReadKey: 0 Term::ReadKey: 0
XML::Parser::Expat: 0 XML::Parser::Expat: 0
generated_by: Module::Build version 0.2808
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.2.html
version: 1.2
no_index:
namespace: SOAP::WSDL::Generator::Template::XSD
provides: provides:
SOAP::WSDL: SOAP::WSDL:
file: lib/SOAP/WSDL.pm file: lib/SOAP/WSDL.pm
@@ -242,9 +246,5 @@ provides:
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
SOAP::WSDL::XSD::Typelib::SimpleType::restriction: SOAP::WSDL::XSD::Typelib::SimpleType::restriction:
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
generated_by: Module::Build version 0.2808 resources:
meta-spec: license: http://opensource.org/licenses/artistic-license.php
url: http://module-build.sourceforge.net/META-spec-v1.2.html
version: 1.2
no_index:
namespace: SOAP::WSDL::Generator::Template::XSD
+1 -1
View File
@@ -734,7 +734,7 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
$Rev: 308 $ $Rev: 308 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: WSDL.pm 308 2007-10-05 17:35:28Z kutterma $ $Id: WSDL.pm 308 2007-10-05 17:35:28Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
=cut =cut
+1 -1
View File
@@ -368,7 +368,7 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
$Rev: 303 $ $Rev: 303 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: Client.pm 303 2007-10-01 18:51:50Z kutterma $ $Id: Client.pm 303 2007-10-01 18:51:50Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
=cut =cut
+4 -3
View File
@@ -9,6 +9,7 @@ our $VERSION = '2.00_17';
sub call { sub call {
my ($self, $method, $body, $header) = @_; my ($self, $method, $body, $header) = @_;
if (not blessed $body) { if (not blessed $body) {
$body = {} if not defined $body;
my $class = $method->{ body }->{ parts }->[0]; my $class = $method->{ body }->{ parts }->[0];
eval "require $class" || die $@; eval "require $class" || die $@;
$body = $class->new($body); $body = $class->new($body);
@@ -116,9 +117,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION =head1 REPOSITORY INFORMATION
$Rev: 303 $ $Rev: 323 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: Base.pm 303 2007-10-01 18:51:50Z kutterma $ $Id: Base.pm 323 2007-10-17 15:23:05Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $
=cut =cut
+2 -2
View File
@@ -234,9 +234,9 @@ This module may be used under the same terms as perl itself.
$ID: $ $ID: $
$LastChangedDate: 2007-10-07 19:27:58 +0200 (Son, 07 Okt 2007) $ $LastChangedDate: 2007-10-07 19:27:58 +0200 (So, 07 Okt 2007) $
$LastChangedRevision: 313 $ $LastChangedRevision: 313 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
+2 -2
View File
@@ -68,9 +68,9 @@ This module may be used under the same terms as perl itself.
$ID: $ $ID: $
$LastChangedDate: 2007-10-07 19:27:58 +0200 (Son, 07 Okt 2007) $ $LastChangedDate: 2007-10-07 19:27:58 +0200 (So, 07 Okt 2007) $
$LastChangedRevision: 313 $ $LastChangedRevision: 313 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
+4 -4
View File
@@ -95,7 +95,7 @@ class should be used for, and $class is the class name.
SOAP::WSDL::Factory::Serializer->register( $version, $class); SOAP::WSDL::Factory::Serializer->register( $version, $class);
To auto-register your transport class on loading, execute register() in To auto-register your transport class on loading, execute register() in
your tranport class (see L<SYNOPSIS|SYNOPSIS> above). your tranport class (see L</SYNOPSIS> above).
=head2 Serializer package layout =head2 Serializer package layout
@@ -138,9 +138,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION =head1 REPOSITORY INFORMATION
$Rev: 302 $ $Rev: 325 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: Serializer.pm 302 2007-09-30 19:25:25Z kutterma $ $Id: Serializer.pm 325 2007-10-18 10:27:46Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $
=cut =cut
+1 -1
View File
@@ -239,6 +239,6 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
$Rev: 304 $ $Rev: 304 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: Transport.pm 304 2007-10-02 20:07:21Z kutterma $ $Id: Transport.pm 304 2007-10-02 20:07:21Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
=cut =cut
+13 -7
View File
@@ -24,9 +24,10 @@ sub BUILD {
sub generate { sub generate {
my $self = shift; my $self = shift;
$self->generate_typelib(); my $opt = shift;
$self->generate_interface(); $self->generate_typelib( $opt );
$self->generate_typemap(); $self->generate_interface( $opt );
$self->generate_typemap( $opt );
} }
sub generate_typelib { sub generate_typelib {
@@ -54,17 +55,22 @@ sub generate_interface {
next if not $port->first_address; next if not $port->first_address;
next if not $port->first_address->isa('SOAP::WSDL::SOAP::Address'); next if not $port->first_address->isa('SOAP::WSDL::SOAP::Address');
my $port_name = $port->get_name;
$port_name =~s{ \A .+\. }{}xms;
my $output = $arg_ref->{ output } my $output = $arg_ref->{ output }
? $arg_ref->{ output } ? $arg_ref->{ output }
: $self->_generate_filename( $self->get_interface_prefix(), $service->get_name(), $port->get_name ); : $self->_generate_filename(
$self->get_interface_prefix(),
$service->get_name(),
$port_name,
);
$self->_process('Interface.tt', $self->_process('Interface.tt',
{ {
service => $service, service => $service,
port => $port, port => $port,
NO_POD => $arg_ref->{ NO_POD } ? 1 : 0 , NO_POD => $arg_ref->{ NO_POD } ? 1 : 0 ,
}, },
$output); $output, binmode => ':utf8');
} }
} }
} }
@@ -1,16 +1,16 @@
package [% interface_prefix %]::[% service.get_name %]::[% port.get_name %]; package [% interface_prefix %]::[% service.get_name.replace('\.', '::') %]::[% port.get_name.replace('^.+\.','') %];
use strict; use strict;
use warnings; use warnings;
use Class::Std::Storable; use Class::Std::Storable;
use base qw(SOAP::WSDL::Client::Base); use base qw(SOAP::WSDL::Client::Base);
# only load if it hasn't been loaded before # only load if it hasn't been loaded before
require [% typemap_prefix %]::[% service.get_name %] require [% typemap_prefix %]::[% service.get_name.replace('\.', '::') %]
if not [% typemap_prefix %]::[% service.get_name %]->can('get_class'); if not [% typemap_prefix %]::[% service.get_name.replace('\.', '::') %]->can('get_class');
sub START { sub START {
$_[0]->set_proxy('[% port.first_address.get_location %]') if not $_[2]->{proxy}; $_[0]->set_proxy('[% port.first_address.get_location %]') if not $_[2]->{proxy};
$_[0]->set_class_resolver('[% typemap_prefix %]::[% service.get_name %]') $_[0]->set_class_resolver('[% typemap_prefix %]::[% service.get_name.replace('\.', '::') %]')
if not $_[2]->{class_resolver}; if not $_[2]->{class_resolver};
} }
@@ -7,7 +7,9 @@ ELSIF (complexType.get_variety == 'group');
THROW NOT_IMPLEMENTED, "${ element.get_name } - complexType group not implemented yet"; THROW NOT_IMPLEMENTED, "${ element.get_name } - complexType group not implemented yet";
ELSIF (complexType.get_variety == 'choice'); ELSIF (complexType.get_variety == 'choice');
INCLUDE complexType/all.tt(complexType = complexType); INCLUDE complexType/all.tt(complexType = complexType);
ELSIF (complexType.get_variety);
THROW NOT_IMPLEMENTED, "Unknown variety ${ complexType.get_variety } in ${ complexType.get_name } (${ element.get_name })";
ELSE; ELSE;
THROW NOT_IMPLEMENTED, "Unknown variety ${ complexType.get_variety }"; # There's no variety - might be empty complexType
END; END;
%] %]
+1 -1
View File
@@ -90,7 +90,7 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
$Rev: 288 $ $Rev: 288 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: HTTP.pm 288 2007-09-29 19:34:20Z kutterma $ $Id: HTTP.pm 288 2007-09-29 19:34:20Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $
=cut =cut
+8 -7
View File
@@ -19,10 +19,11 @@ my %CLASSES_OF;
# We could also handle them via AUTOMETHOD, # We could also handle them via AUTOMETHOD,
# but AUTOMETHOD should always croak... # but AUTOMETHOD should always croak...
# Do we really need this ? # Do we really need this ?
#sub STORABLE_freeze_pre {} # ... looks like we do...
#sub STORABLE_freeze_post {} sub STORABLE_freeze_pre {}
#sub STORABLE_thaw_pre {} sub STORABLE_freeze_post {}
#sub STORABLE_thaw_post {} sub STORABLE_thaw_pre {}
sub STORABLE_thaw_post {}
# for error reporting. Eases working with data objects... # for error reporting. Eases working with data objects...
sub AUTOMETHOD { sub AUTOMETHOD {
@@ -376,10 +377,10 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION =head1 REPOSITORY INFORMATION
$Rev: 309 $ $Rev: 323 $
$LastChangedBy: kutterma $ $LastChangedBy: kutterma $
$Id: ComplexType.pm 309 2007-10-05 17:48:37Z kutterma $ $Id: ComplexType.pm 323 2007-10-17 15:23:05Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm $ $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm $
=cut =cut
+7 -1
View File
@@ -14,6 +14,12 @@ if ($@)
} }
my $path = File::Spec->rel2abs( dirname __FILE__ ); my $path = File::Spec->rel2abs( dirname __FILE__ );
my ($volume, $dir) = File::Spec->splitpath($path, 1);
my @dir_from = File::Spec->splitdir($dir);
unshift @dir_from, $volume if $volume;
my $url = join '/', @dir_from;
# print $url;
use_ok(qw/SOAP::WSDL/); use_ok(qw/SOAP::WSDL/);
@@ -24,7 +30,7 @@ my $soap;
#2 #2
ok( $soap = SOAP::WSDL->new( ok( $soap = SOAP::WSDL->new(
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-all.wsdl', wsdl => 'file://' . $url . '/../../acceptance/wsdl/03_complexType-all.wsdl',
), 'Instantiated object' ); ), 'Instantiated object' );
#3 #3
+5 -2
View File
@@ -12,14 +12,17 @@ use_ok(qw/SOAP::WSDL/);
print "# SOAP::WSDL Version: $SOAP::WSDL::VERSION\n"; print "# SOAP::WSDL Version: $SOAP::WSDL::VERSION\n";
my $path = File::Spec->rel2abs( dirname __FILE__ ); my $path = File::Spec->rel2abs( dirname __FILE__ );
my ($volume, $dir) = File::Spec->splitpath($path, 1);
my @dir_from = File::Spec->splitdir($dir);
unshift @dir_from, $volume if $volume;
my $url = join '/', @dir_from;
my $xml; my $xml;
my $soap; my $soap;
#2 #2
ok( $soap = SOAP::WSDL->new( ok( $soap = SOAP::WSDL->new(
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-element-ref.wsdl', wsdl => 'file://' . $url . '/../../acceptance/wsdl/03_complexType-element-ref.wsdl',
no_dispatch => 1, no_dispatch => 1,
), 'Instantiated object' ); ), 'Instantiated object' );
+5 -1
View File
@@ -19,10 +19,14 @@ use_ok(qw/SOAP::WSDL/);
my $xml; my $xml;
my $path = File::Spec->rel2abs( dirname __FILE__ ); my $path = File::Spec->rel2abs( dirname __FILE__ );
my ($volume, $dir) = File::Spec->splitpath($path, 1);
my @dir_from = File::Spec->splitdir($dir);
unshift @dir_from, $volume if $volume;
my $url = join '/', @dir_from;
#2 #2
ok( $soap = SOAP::WSDL->new( ok( $soap = SOAP::WSDL->new(
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-sequence.wsdl' wsdl => 'file://' . $url . '/../../acceptance/wsdl/03_complexType-sequence.wsdl'
), 'Instantiated object' ); ), 'Instantiated object' );
#3 #3
+5 -1
View File
@@ -17,10 +17,14 @@ use_ok(qw/SOAP::WSDL/);
my $soap; my $soap;
my $xml; my $xml;
my $path = File::Spec->rel2abs( dirname __FILE__ ); my $path = File::Spec->rel2abs( dirname __FILE__ );
my ($volume, $dir) = File::Spec->splitpath($path, 1);
my @dir_from = File::Spec->splitdir($dir);
unshift @dir_from, $volume if $volume;
my $url = join '/', @dir_from;
#2 #2
ok( $soap = SOAP::WSDL->new( ok( $soap = SOAP::WSDL->new(
wsdl => 'file://' . $path . '/../../acceptance/wsdl/04_element.wsdl' wsdl => 'file://' . $url . '/../../acceptance/wsdl/04_element.wsdl'
), 'Instantiated object' ); ), 'Instantiated object' );
#3 #3