Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6a48ba84b | ||
|
|
30be0da3dc | ||
|
|
2347a88353 | ||
|
|
9e85f63aa0 | ||
|
|
7ba2f93e44 | ||
|
|
099c83b6bc | ||
|
|
f63138fc87 | ||
|
|
fd0854e34a | ||
|
|
c2da74b5ae | ||
|
|
7ba1959888 | ||
|
|
a554e87f49 | ||
|
|
312f3d6bbd | ||
|
|
40e0e67e84 | ||
|
|
25548e6296 | ||
|
|
a78d6d15b5 | ||
|
|
5c42b1d8f6 | ||
|
|
21b5330a8d | ||
|
|
7716d4349a | ||
|
|
6fe52c4370 | ||
|
|
bfbf5e27e0 | ||
|
|
903b3e95e4 |
@@ -1,7 +1,25 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
use Module::Build;
|
use Module::Build;
|
||||||
Module::Build->new(
|
|
||||||
dist_abstract => 'WSDL support for SOAP::Lite',
|
Module::Build->new(
|
||||||
module_name => 'SOAP::WSDL',
|
create_makefile_pl => 'passthrough',
|
||||||
license => 'artistic',
|
dist_name => 'SOAP-WSDL',
|
||||||
requires => { 'SOAP::Lite' => 0.55, 'XML::XPath' => 0 }
|
dist_version => '1.26',
|
||||||
)->create_build_script;
|
dist_abstract => 'WSDL support for SOAP::Lite',
|
||||||
|
module_name => 'SOAP::WSDL',
|
||||||
|
license => 'artistic',
|
||||||
|
requires => {
|
||||||
|
'SOAP::Lite' => 0,
|
||||||
|
'XML::XPath' => 0,
|
||||||
|
},
|
||||||
|
buildrequires => {
|
||||||
|
'Test::More' => 0,
|
||||||
|
'SOAP::Lite' => 0,
|
||||||
|
'XML::XPath' => 0,
|
||||||
|
'Time::HiRes' => 0,
|
||||||
|
'File::Spec' => 0,
|
||||||
|
'File::Basename' => 0,
|
||||||
|
'Cwd' => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
)->create_build_script;
|
||||||
|
|||||||
@@ -1,3 +1,24 @@
|
|||||||
|
* v1.26 2007/10/05 - bugfix
|
||||||
|
- fixed issue reported by T Alex Beamish: tests fail when unwrapped into /tmp
|
||||||
|
* v1.25 2007/09/24 - maintenance
|
||||||
|
- added Makefile.PL to ease installation
|
||||||
|
|
||||||
|
* v1.24 2007/09/22 - bugfix
|
||||||
|
- fixes issue reported by David Bussenschutt: wsdlinit always uses new SOAP::Schema instance.
|
||||||
|
|
||||||
|
* v1.23 2007/06/05 - bugfixes and optimizations
|
||||||
|
- fixes #27426: missing prereq XML::XPath
|
||||||
|
- fixed build_requires
|
||||||
|
- some doc fixes
|
||||||
|
- now performs some initializations on calling portname()
|
||||||
|
|
||||||
|
* v1.22 2007/05/30 - auto-discover service and port again
|
||||||
|
- re-introduces auto-detecting of servicename and portname
|
||||||
|
- fixes #27325: Test fails with Test::Pod::Coverage v 1.06.
|
||||||
|
- Now build requires Test::More
|
||||||
|
- documentation update
|
||||||
|
- cosmetics
|
||||||
|
|
||||||
2007/05/28 private methods made private and pod update
|
2007/05/28 private methods made private and pod update
|
||||||
- added pod tests
|
- added pod tests
|
||||||
- made encodeComplexType and method generators private
|
- made encodeComplexType and method generators private
|
||||||
|
|||||||
@@ -2,12 +2,15 @@ Build.PL
|
|||||||
CHANGES
|
CHANGES
|
||||||
HACKING
|
HACKING
|
||||||
lib/SOAP/WSDL.pm
|
lib/SOAP/WSDL.pm
|
||||||
|
Makefile.PL
|
||||||
MANIFEST This list of files
|
MANIFEST This list of files
|
||||||
META.yml
|
META.yml
|
||||||
README
|
README
|
||||||
t/1_performance.t
|
t/1_performance.t
|
||||||
t/2_helloworld.NET.t
|
t/2_helloworld.NET.t
|
||||||
t/3_various.t
|
t/3_various.t
|
||||||
|
t/4_auto_set_port.t
|
||||||
|
t/5_same_transport.t
|
||||||
t/97_pod.t
|
t/97_pod.t
|
||||||
t/98_pod_coverage.t
|
t/98_pod_coverage.t
|
||||||
t/acceptance/helloworld.asmx.xml
|
t/acceptance/helloworld.asmx.xml
|
||||||
|
|||||||
@@ -1,22 +1,19 @@
|
|||||||
---
|
---
|
||||||
name: SOAP-WSDL
|
name: SOAP-WSDL
|
||||||
version: 1.21
|
version: 1.26
|
||||||
author:
|
author: []
|
||||||
- |-
|
|
||||||
Martin Kutter <martin.kutter@fen-net.de>
|
|
||||||
Giovanni S. Fois giovannisfois@tiscali.it
|
|
||||||
abstract: WSDL support for SOAP::Lite
|
abstract: WSDL support for SOAP::Lite
|
||||||
license: artistic
|
license: artistic
|
||||||
resources:
|
resources:
|
||||||
license: http://opensource.org/licenses/artistic-license.php
|
license: http://opensource.org/licenses/artistic-license.php
|
||||||
requires:
|
requires:
|
||||||
SOAP::Lite: 0.55
|
SOAP::Lite: 0
|
||||||
XML::XPath: 0
|
XML::XPath: 0
|
||||||
provides:
|
provides:
|
||||||
SOAP::WSDL:
|
SOAP::WSDL:
|
||||||
file: lib/SOAP/WSDL.pm
|
file: lib/SOAP/WSDL.pm
|
||||||
version: 1.21
|
version: 1.25
|
||||||
generated_by: Module::Build version 0.28
|
generated_by: Module::Build version 0.2808
|
||||||
meta-spec:
|
meta-spec:
|
||||||
url: http://module-build.sourceforge.net/META-spec-v1.2.html
|
url: http://module-build.sourceforge.net/META-spec-v1.2.html
|
||||||
version: 1.2
|
version: 1.2
|
||||||
|
|||||||
+31
@@ -0,0 +1,31 @@
|
|||||||
|
# Note: this file was auto-generated by Module::Build::Compat version 0.03
|
||||||
|
|
||||||
|
unless (eval "use Module::Build::Compat 0.02; 1" ) {
|
||||||
|
print "This module requires Module::Build to install itself.\n";
|
||||||
|
|
||||||
|
require ExtUtils::MakeMaker;
|
||||||
|
my $yn = ExtUtils::MakeMaker::prompt
|
||||||
|
(' Install Module::Build now from CPAN?', 'y');
|
||||||
|
|
||||||
|
unless ($yn =~ /^y/i) {
|
||||||
|
die " *** Cannot install without Module::Build. Exiting ...\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
require Cwd;
|
||||||
|
require File::Spec;
|
||||||
|
require CPAN;
|
||||||
|
|
||||||
|
# Save this 'cause CPAN will chdir all over the place.
|
||||||
|
my $cwd = Cwd::cwd();
|
||||||
|
|
||||||
|
CPAN::Shell->install('Module::Build::Compat');
|
||||||
|
CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate
|
||||||
|
or die "Couldn't install Module::Build, giving up.\n";
|
||||||
|
|
||||||
|
chdir $cwd or die "Cannot chdir() back to $cwd: $!";
|
||||||
|
}
|
||||||
|
eval "use Module::Build::Compat 0.02; 1" or die $@;
|
||||||
|
|
||||||
|
Module::Build::Compat->run_build_pl(args => \@ARGV);
|
||||||
|
require Module::Build;
|
||||||
|
Module::Build::Compat->write_makefile(build_class => 'Module::Build');
|
||||||
@@ -20,13 +20,10 @@ need the following packages:
|
|||||||
|
|
||||||
INSTALLING
|
INSTALLING
|
||||||
|
|
||||||
Use the usual mantra:
|
perl Build.PL
|
||||||
|
perl Build
|
||||||
perl Makefile.PL
|
perl Build test
|
||||||
make
|
perl Build install
|
||||||
make test
|
|
||||||
make install
|
|
||||||
|
|
||||||
|
|
||||||
LICENSE
|
LICENSE
|
||||||
|
|
||||||
|
|||||||
+1086
-754
File diff suppressed because it is too large
Load Diff
+5
-5
@@ -21,7 +21,7 @@ my $data = { name => 'Mein Name',
|
|||||||
my $dir = cwd;
|
my $dir = cwd;
|
||||||
|
|
||||||
# chomp /t/ to allow running the script from t/ directory
|
# chomp /t/ to allow running the script from t/ directory
|
||||||
$dir=~s|/t/?||;
|
$dir=~s|/t/?$||;
|
||||||
|
|
||||||
my $t0 = [gettimeofday];
|
my $t0 = [gettimeofday];
|
||||||
|
|
||||||
@@ -59,11 +59,11 @@ my $t0 = [gettimeofday];
|
|||||||
print "# NO cache second call (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
print "# NO cache second call (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||||
|
|
||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
for (my $i=1; $i<100; $i++) {
|
for (1..10) {
|
||||||
$soap->call(sayHello => %{ $data });
|
$soap->call(sayHello => %{ $data });
|
||||||
}
|
}
|
||||||
ok(1);
|
ok(1);
|
||||||
print "# NO cache: 100 x call (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
print "# NO cache: 10 x call (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
print "# Test with caching ENABLED\n";
|
print "# Test with caching ENABLED\n";
|
||||||
@@ -98,10 +98,10 @@ my $t0 = [gettimeofday];
|
|||||||
print "# CACHE second call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
print "# CACHE second call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||||
|
|
||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
for (my $i=1; $i<100; $i++) {
|
for (1..10) {
|
||||||
$soap->call(sayHello => %{ $data });
|
$soap->call(sayHello => %{ $data });
|
||||||
}
|
}
|
||||||
ok(1);
|
ok(1);
|
||||||
print "# CACHE: 100 x call (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
print "# CACHE: 10 x call (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ my $data = {
|
|||||||
|
|
||||||
|
|
||||||
my $dir= cwd;
|
my $dir= cwd;
|
||||||
$dir=~s/\/t\/?//;
|
$dir=~s/\/t\/?$//;
|
||||||
|
|
||||||
my $t0 = [gettimeofday];
|
my $t0 = [gettimeofday];
|
||||||
ok( my $soap=SOAP::WSDL->new(wsdl => 'file:///'.$dir.'/t/acceptance/test.wsdl.xml',
|
ok( my $soap=SOAP::WSDL->new(wsdl => 'file:///'.$dir.'/t/acceptance/test.wsdl.xml',
|
||||||
|
|||||||
+14
-17
@@ -1,15 +1,13 @@
|
|||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
use strict;
|
use strict;
|
||||||
use Test;
|
use warnings;
|
||||||
plan tests=> 8;
|
use diagnostics;
|
||||||
|
use Test::More tests=> 9;
|
||||||
use Time::HiRes qw( gettimeofday tv_interval );
|
use Time::HiRes qw( gettimeofday tv_interval );
|
||||||
use lib '../lib';
|
use lib '../lib';
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use Cwd;
|
use Cwd;
|
||||||
use SOAP::WSDL;
|
use_ok qw/SOAP::WSDL/;
|
||||||
|
|
||||||
ok 1; # if we made it this far, we're ok
|
|
||||||
### test vars END
|
|
||||||
|
|
||||||
print "# Testing SOAP::WSDL ". $SOAP::WSDL::VERSION."\n";
|
print "# Testing SOAP::WSDL ". $SOAP::WSDL::VERSION."\n";
|
||||||
print "# Various Features Test with WSDL file \n";
|
print "# Various Features Test with WSDL file \n";
|
||||||
@@ -20,7 +18,7 @@ my $data = {name => 'Mein Name',
|
|||||||
my $dir = cwd;
|
my $dir = cwd;
|
||||||
|
|
||||||
# chomp /t/ to allow running the script from t/ directory
|
# chomp /t/ to allow running the script from t/ directory
|
||||||
$dir=~s|/t/?||;
|
$dir=~s|/t/?$||;
|
||||||
|
|
||||||
my $t0 = [gettimeofday];
|
my $t0 = [gettimeofday];
|
||||||
ok( my $soap=SOAP::WSDL->new(wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml",
|
ok( my $soap=SOAP::WSDL->new(wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml",
|
||||||
@@ -31,11 +29,11 @@ print "# Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."ms)\n"
|
|||||||
|
|
||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
eval{ $soap->wsdlinit(caching => 0) };
|
eval{ $soap->wsdlinit(caching => 0) };
|
||||||
unless ($@) {
|
if ($@) {
|
||||||
ok(1);
|
fail("wsdlinit");
|
||||||
} else {
|
|
||||||
ok 0;
|
|
||||||
print STDERR $@;
|
print STDERR $@;
|
||||||
|
} else {
|
||||||
|
pass("wsdlinit");
|
||||||
}
|
}
|
||||||
print "# wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;;
|
print "# wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;;
|
||||||
|
|
||||||
@@ -44,18 +42,17 @@ $soap->servicename("Service1");
|
|||||||
$soap->portname("Service1Soap");
|
$soap->portname("Service1Soap");
|
||||||
|
|
||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
|
ok( $soap->call("sayHello" , %{ $data }), "call sayHello");
|
||||||
ok( $soap->call("sayHello" , %{ $data }));
|
|
||||||
print "# Normal Call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
print "# Normal Call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||||
|
|
||||||
$soap->servicename("Service2");
|
$soap->servicename("Service2");
|
||||||
$soap->portname("Service2Soap");
|
is( $soap->portname("Service2Soap"), 'Service2Soap' );
|
||||||
|
|
||||||
$data = {name => 'Mein Name',
|
$data = {name => 'Mein Name',
|
||||||
givenName => 'Vorname'};
|
givenName => 'Vorname'};
|
||||||
|
|
||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
ok($soap->call(sayGoodBye => %{ $data }) );
|
ok($soap->call(sayGoodBye => %{ $data }), "Multiple Services/Port Call" );
|
||||||
print "# Multiple Services/Port Call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
print "# Multiple Services/Port Call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||||
|
|
||||||
$soap->servicename("Service2");
|
$soap->servicename("Service2");
|
||||||
@@ -68,7 +65,7 @@ $data = {name => 'Mein Name',
|
|||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
|
|
||||||
my $xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
my $xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
||||||
$xml =~ /<name/ and ok(1);
|
like($xml , qr/<name/, 'serialized overloaded method');
|
||||||
|
|
||||||
$data = {
|
$data = {
|
||||||
name => 'Mein Name',
|
name => 'Mein Name',
|
||||||
@@ -78,7 +75,7 @@ $data = {
|
|||||||
|
|
||||||
$t0 = [gettimeofday];
|
$t0 = [gettimeofday];
|
||||||
$xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
$xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
||||||
$xml !~ /<name/ and ok(1);
|
unlike($xml , qr/<name/ , 'Overloaded calls');
|
||||||
|
|
||||||
print "# Overloaded Calls: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
print "# Overloaded Calls: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
#######################################################################################
|
||||||
|
#
|
||||||
|
# 2_helloworld.t
|
||||||
|
#
|
||||||
|
# Acceptance test for message encoding, based on .NET wsdl and example code.
|
||||||
|
# SOAP::WSDL's encoding doesn't I<exactly> match the .NET example, because
|
||||||
|
# .NET doesn't always specify types (SOAP::WSDL does), and the namespace
|
||||||
|
# prefixes chosen are different (maybe the encoding style, too ? this would be a bug !)
|
||||||
|
#
|
||||||
|
########################################################################################
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use diagnostics;
|
||||||
|
use Test::More tests => 6;
|
||||||
|
use Time::HiRes qw( gettimeofday tv_interval );
|
||||||
|
use lib '../lib';
|
||||||
|
use Cwd;
|
||||||
|
use_ok qw/SOAP::WSDL/;
|
||||||
|
|
||||||
|
### test vars END
|
||||||
|
print "# Testing SOAP::WSDL ". $SOAP::WSDL::VERSION."\n";
|
||||||
|
print "# Acceptance test against sample output with simple WSDL\n";
|
||||||
|
|
||||||
|
my $data = {
|
||||||
|
name => 'test',
|
||||||
|
givenName => 'GIVENNAME',
|
||||||
|
test => {
|
||||||
|
name => 'TESTNAME',
|
||||||
|
givenName => 'GIVENNAME',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
my $dir= cwd;
|
||||||
|
$dir=~s/\/t\/?$//;
|
||||||
|
|
||||||
|
# print $dir;
|
||||||
|
my $url = $dir . '/t/acceptance/test.wsdl.xml';
|
||||||
|
die "no wsdl found" if (not -e $url);
|
||||||
|
ok( my $soap=SOAP::WSDL->new( wsdl => 'file:///'. $url ), "Create SOAP::WSDL object");
|
||||||
|
$soap->no_dispatch( 1 );
|
||||||
|
|
||||||
|
eval{ $soap->wsdlinit() };
|
||||||
|
unless ($@) {
|
||||||
|
pass "wsdlinit";
|
||||||
|
} else {
|
||||||
|
fail "wsdlinit - $@";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ok( $soap->call(sayHello => %{ $data }) , "SOAP call");
|
||||||
|
|
||||||
|
is( $soap->servicename() , 'Service1', "Auto-detected servicename");
|
||||||
|
is( $soap->portname() , 'Service1Soap', "Auto-detected portname");
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Addresses issue reported by David Bussenschutt
|
||||||
|
use Test::More tests => 1;
|
||||||
|
use lib '../lib';
|
||||||
|
use SOAP::Lite;
|
||||||
|
use SOAP::WSDL;
|
||||||
|
use File::Spec;
|
||||||
|
use File::Basename qw(dirname);
|
||||||
|
|
||||||
|
my $path = File::Spec->rel2abs( dirname __FILE__);
|
||||||
|
|
||||||
|
my $soap = SOAP::WSDL->new(
|
||||||
|
wsdl => "file://$path/acceptance/helloworld.asmx.xml"
|
||||||
|
);
|
||||||
|
my $transport = $soap->schema()->useragent()->protocols_forbidden(['file']);
|
||||||
|
|
||||||
|
# If it dies with 500 Access to 'file'..., wsdlinit uses the same UA...
|
||||||
|
eval { $soap->wsdlinit()};
|
||||||
|
ok index( $@, q{500 Access to 'file}) > 0;
|
||||||
|
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
use Test::More;
|
use Test::More;
|
||||||
eval "use Test::Pod::Coverage 1.00";
|
eval { use Test::Pod::Coverage 1.08 };
|
||||||
plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD" if $@;
|
plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD" if $@;
|
||||||
|
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|||||||
Reference in New Issue
Block a user