import SOAP-WSDL 2.00_26 from CPAN

git-cpan-module:   SOAP-WSDL
git-cpan-version:  2.00_26
git-cpan-authorid: MKUTTER
git-cpan-file:     authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00_26.tar.gz
This commit is contained in:
Martin Kutter
2007-12-03 14:33:48 -08:00
committed by Michael G. Schwern
parent a9033164e6
commit 3cfeebae54
39 changed files with 2315 additions and 58 deletions

View File

@@ -18,7 +18,7 @@ my %binding_of :ATTR(:name<binding> :default<()>);
my %service_of :ATTR(:name<service> :default<()>);
my %namespace_of :ATTR(:name<namespace> :default<()>);
# must be attr for Class::Std::Storable
# must be attr for Class::Std::Fast::Storable
my %attributes_of :ATTR();
%attributes_of = (
binding => \%binding_of,
@@ -118,9 +118,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 427 $
$Rev: 431 $
$LastChangedBy: kutterma $
$Id: Definitions.pm 427 2007-12-02 22:20:24Z kutterma $
$Id: Definitions.pm 431 2007-12-03 19:39:11Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Definitions.pm $
=cut

View File

@@ -37,8 +37,10 @@ sub get_transport {
$scheme =~s{ \A ([^\:]+) \: .+ }{$1}smx;
if ($registered_transport_of{ $scheme }) {
eval "require $registered_transport_of{ $scheme }"
or die "Cannot load transport class $registered_transport_of{ $scheme } : $@";
no strict qw(refs);
*{ $registered_transport_of{ $scheme } . '::' }{ CODE }
or eval "require $registered_transport_of{ $scheme }"
or die "Cannot load transport class $registered_transport_of{ $scheme } : $@";
# try "foo::Client" class first - SOAP::Tranport always requires
# a package withoug the ::Client appended, and then
@@ -68,8 +70,10 @@ sub get_transport {
}
if (exists $SOAP_WSDL_TRANSPORT_OF{ $scheme }) {
eval "require $SOAP_WSDL_TRANSPORT_OF{ $scheme }"
or die "Cannot load transport class $SOAP_WSDL_TRANSPORT_OF{ $scheme } : $@";
no strict qw(refs);
*{ $SOAP_WSDL_TRANSPORT_OF{ $scheme } . '::' }{ CODE }
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 );
}
@@ -236,9 +240,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
=head1 REPOSITORY INFORMATION
$Rev: 427 $
$Rev: 435 $
$LastChangedBy: kutterma $
$Id: Transport.pm 427 2007-12-02 22:20:24Z kutterma $
$Id: Transport.pm 435 2007-12-03 22:31:00Z kutterma $
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
=cut

View File

@@ -4,7 +4,7 @@
port_op = type.find_operation( definitions.get_targetNamespace, operation.get_name );
port_op.get_documentation %]
sub [% operation.get_name %](
sub [% operation.get_name %] {
my ($self, $body, $header) = @_;
# body is a ??? object - sorry, POD not implemented yet
# header is a ??? object - sorry, POD not implemented yet

View File

@@ -8,12 +8,15 @@ element_from = complexType.get_element;
#
# Sanity check: All original elements must be noted first
#
element_list = base_type.get_element;
FOREACH element = base_type.get_element;
IF element_from.${ loop.index }.get_name != element.get_name;
# element_list.push( element );
THROW WSDL "${element.get_name} not found at position ${ loop.index } in extension type ${ complexType.get_name }";
END;
END;
#complexType.set_element( element_list );
-%]
use base qw([% type_prefix %]::[% base_name.1.replace('\.', '::') %]);

View File

@@ -123,7 +123,7 @@ sub visit_Part {
# TODO: auto-generate element for RPC bindings
if ( my $type_name = $part->get_type ) {
# FIXME support RPC-style calls
die "unsupported global type <$type_name> found in part";
die "unsupported global type <$type_name> found in part ". $part->get_name();
}
# TODO factor out iterator or replace by lookup (probably better)

View File

@@ -9,11 +9,10 @@ use HTTP::Headers;
use Scalar::Util qw(blessed);
use Class::Std::Fast::Storable;
# use Class::Std::Storable;
use base qw(SOAP::WSDL::Server);
our $VERSION=q{2.00_25};
our $VERSION=q{2.00_26};
# mostly copied from SOAP::Lite. Unfortunately we can't use SOAP::Lite's CGI
# server directly - we would have to swap out it's base class...
@@ -80,6 +79,10 @@ sub handle {
'Content-type' => 'text/xml; charset="utf-8"'
);
$response->content( $response_message );
{
use bytes;
$response->header('Content-length', length $response_message);
}
}
$self->_output($response);