import SOAP-WSDL 1.21 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 1.21 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-1.21.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
95465c33d9
commit
a31389246e
@@ -1,60 +1,107 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use Test;
|
||||
plan tests=> 6;
|
||||
use Time::HiRes qw( gettimeofday tv_interval );
|
||||
use lib '../..';
|
||||
use Data::Dumper;
|
||||
use Cwd;
|
||||
use 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 "Performance test with simple WSDL file\n";
|
||||
|
||||
my $data = {
|
||||
name => 'Mein Name',
|
||||
givenName => 'Vorname'
|
||||
|
||||
};
|
||||
|
||||
my $dir = cwd;
|
||||
|
||||
# chomp /t/ to allow running the script from t/ directory
|
||||
$dir=~s|/t/?||;
|
||||
|
||||
my $t0 = [gettimeofday];
|
||||
ok( my $soap=SOAP::WSDL->new(
|
||||
wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml",
|
||||
no_dispatch => 1
|
||||
) );
|
||||
print "Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."ms)\n" ;
|
||||
|
||||
$soap->proxy('http://helloworld/helloworld.asmx');
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
eval{ $soap->wsdlinit(caching => 1) };
|
||||
unless ($@) {
|
||||
ok(1);
|
||||
} else {
|
||||
ok 0;
|
||||
print STDERR $@;
|
||||
}
|
||||
print "wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;;
|
||||
$soap->readable(1);
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok( $soap->call("sayHello" , %{ $data }));
|
||||
print "1 x call pre-work (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok($soap->call(sayHello => %{ $data }) );
|
||||
print "1 x call pre-work (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
for (my $i=1; $i<100; $i++) {
|
||||
$soap->call(sayHello => %{ $data });
|
||||
}
|
||||
ok(1);
|
||||
print "100 x call pre-work (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use Test;
|
||||
plan tests=> 11;
|
||||
use Time::HiRes qw( gettimeofday tv_interval );
|
||||
use lib '../lib';
|
||||
use Data::Dumper;
|
||||
use Cwd;
|
||||
|
||||
use 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 "# Performance test with WSDL file\n";
|
||||
|
||||
my $data = { name => 'Mein Name',
|
||||
givenName => 'Vorname' };
|
||||
|
||||
my $dir = cwd;
|
||||
|
||||
# chomp /t/ to allow running the script from t/ directory
|
||||
$dir=~s|/t/?||;
|
||||
|
||||
my $t0 = [gettimeofday];
|
||||
|
||||
{
|
||||
ok( my $soap=SOAP::WSDL->new(
|
||||
wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml",
|
||||
no_dispatch => 1
|
||||
) );
|
||||
|
||||
print "# Test with NO caching\n";
|
||||
print "# Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."ms)\n" ;
|
||||
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
eval{ $soap->wsdlinit(caching => 0) };
|
||||
unless ($@) {
|
||||
ok(1);
|
||||
} else {
|
||||
ok 0;
|
||||
print STDERR $@;
|
||||
}
|
||||
print "# wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;;
|
||||
|
||||
$soap->readable(1);
|
||||
$soap->wsdl_cache_store();
|
||||
$soap->servicename("Service1");
|
||||
$soap->portname("Service1Soap");
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok( $soap->call("sayHello" , %{ $data }));
|
||||
print "# NO cache first call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok($soap->call(sayHello => %{ $data }) );
|
||||
print "# NO cache second call (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
for (my $i=1; $i<100; $i++) {
|
||||
$soap->call(sayHello => %{ $data });
|
||||
}
|
||||
ok(1);
|
||||
print "# NO cache: 100 x call (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||
}
|
||||
{
|
||||
print "# Test with caching ENABLED\n";
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok(my $soap=SOAP::WSDL->new(
|
||||
wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml",
|
||||
no_dispatch => 1
|
||||
) );
|
||||
print "# Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."ms)\n" ;
|
||||
-e "$dir/t/cache" or mkdir "$dir/t/cache";
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
eval{ $soap->wsdlinit(caching => 1,cache_directory =>"$dir/t/cache") };
|
||||
unless ($@) {
|
||||
ok(1);
|
||||
} else {
|
||||
ok 0;
|
||||
print STDERR $@;
|
||||
}
|
||||
print "# wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;;
|
||||
$soap->readable(1);
|
||||
$soap->servicename("Service1");
|
||||
$soap->portname("Service1Soap");
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok( $soap->call("sayHello" , %{ $data }));
|
||||
print "# CACHE first call (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok($soap->call(sayHello => %{ $data }) );
|
||||
print "# CACHE second call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
for (my $i=1; $i<100; $i++) {
|
||||
$soap->call(sayHello => %{ $data });
|
||||
}
|
||||
ok(1);
|
||||
print "# CACHE: 100 x call (".tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||
|
||||
}
|
||||
|
||||
@@ -1,102 +1,104 @@
|
||||
#!/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;
|
||||
plan tests => 5;
|
||||
use Time::HiRes qw( gettimeofday tv_interval );
|
||||
use lib '../..';
|
||||
use Cwd;
|
||||
use 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 "Acceptance test against sample output with simple WSDL\n";
|
||||
|
||||
my $data = {
|
||||
name => 'test',
|
||||
# givenName => 'GIVENNAME',
|
||||
# test => {
|
||||
# name => 'TESTNAME',
|
||||
# givenName => 'GIVENNAME',
|
||||
# },
|
||||
# test1 => {
|
||||
# name => 'TESTNAME',
|
||||
# givenName => 'GIVENNAME',
|
||||
# extend => 'EXTEND',
|
||||
# },
|
||||
# test2 => {
|
||||
# name => 'TESTNAME',
|
||||
# givenName => 'GIVENNAME',
|
||||
# }
|
||||
};
|
||||
|
||||
my $t0 = [gettimeofday];
|
||||
my $dir= cwd;
|
||||
$dir=~s/\/t//;
|
||||
ok( my $soap=SOAP::WSDL->new(
|
||||
wsdl => 'file:///'.$dir.'/t/acceptance/test.wsdl.xml',
|
||||
no_dispatch => 1
|
||||
) );
|
||||
print "Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
$soap->proxy('http://helloworld/helloworld.asmx');
|
||||
$t0 = [gettimeofday];
|
||||
ok($soap->wsdlinit());
|
||||
print "WSDL init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
do {
|
||||
my $xml = $soap->serializer->method( $soap->call(sayHello => %{ $data }) );
|
||||
|
||||
open (FILE, "acceptance/helloworld.xml")
|
||||
|| open (FILE, "t/acceptance/helloworld.xml") || die "can't open acceptance file";
|
||||
my $xml_test=<FILE>;
|
||||
close FILE;
|
||||
$xml=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
$xml_test=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml_test=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
if ( ($xml) && ($xml eq $xml_test) ) {
|
||||
ok 1;
|
||||
print "Message encoding (" .tv_interval ( $t0, [gettimeofday]) ."s)\n"
|
||||
} else {
|
||||
ok 0;
|
||||
print "Message encoding (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
print "$xml\n$xml_test\n"; };
|
||||
};
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
do {
|
||||
my $xml = $soap->serializer->method( $soap->call(sayHello => %{ $data }) );
|
||||
|
||||
open (FILE, "acceptance/helloworld.xml")
|
||||
|| open FILE, ("t/acceptance/helloworld.xml") || die "can't open acceptance file";
|
||||
my $xml_test=<FILE>;
|
||||
close FILE;
|
||||
$xml=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
$xml_test=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml_test=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
if ( ($xml) && ($xml eq $xml_test) ) {
|
||||
ok 1;
|
||||
print "Message encoding (" .tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||
} else {
|
||||
ok 0;
|
||||
print "Message encoding (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
print "$xml\n$xml_test\n"; };
|
||||
};
|
||||
|
||||
#!/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;
|
||||
plan tests => 5;
|
||||
use Time::HiRes qw( gettimeofday tv_interval );
|
||||
use lib '../lib';
|
||||
use Cwd;
|
||||
use 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 "# 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\/?//;
|
||||
|
||||
my $t0 = [gettimeofday];
|
||||
ok( my $soap=SOAP::WSDL->new(wsdl => 'file:///'.$dir.'/t/acceptance/test.wsdl.xml',
|
||||
no_dispatch => 1 ) );
|
||||
|
||||
print "# Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
eval{ $soap->wsdlinit() };
|
||||
unless ($@) {
|
||||
ok(1);
|
||||
} else {
|
||||
ok 0;
|
||||
print STDERR $@;
|
||||
}
|
||||
|
||||
print "# WSDL init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
$soap->servicename("Service1");
|
||||
$soap->portname("Service1Soap");
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
do {
|
||||
my $xml = $soap->serializer->method( $soap->call(sayHello => %{ $data }) );
|
||||
|
||||
open (FILE, "acceptance/helloworld.xml")
|
||||
|| open (FILE, "t/acceptance/helloworld.xml") || die "can't open acceptance file";
|
||||
my $xml_test=<FILE>;
|
||||
close FILE;
|
||||
$xml=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
$xml_test=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml_test=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
if ( ($xml) && ($xml eq $xml_test) ) {
|
||||
ok 1;
|
||||
print "# Message encoding (" .tv_interval ( $t0, [gettimeofday]) ."s)\n"
|
||||
} else {
|
||||
ok 0;
|
||||
print "# Message encoding (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
print "$xml\n$xml_test\n"; };
|
||||
};
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
do {
|
||||
my $xml = $soap->serializer->method( $soap->call(sayHello => %{ $data }) );
|
||||
|
||||
open (FILE, "acceptance/helloworld.xml")
|
||||
|| open FILE, ("t/acceptance/helloworld.xml") || die "can't open acceptance file";
|
||||
my $xml_test=<FILE>;
|
||||
close FILE;
|
||||
$xml=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
$xml_test=~s/^.+\<([^\/]+?)\:Body\>//;
|
||||
$xml_test=~s/\<\/$1\:Body\>.*//;
|
||||
|
||||
if ( ($xml) && ($xml eq $xml_test) ) {
|
||||
ok 1;
|
||||
print "# Message encoding (" .tv_interval ( $t0, [gettimeofday]) ."s)\n";
|
||||
} else {
|
||||
ok 0;
|
||||
print "# Message encoding (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
print "$xml\n$xml_test\n";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
112
t/3_various.t
Normal file
112
t/3_various.t
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use Test;
|
||||
plan tests=> 8;
|
||||
use Time::HiRes qw( gettimeofday tv_interval );
|
||||
use lib '../lib';
|
||||
use Data::Dumper;
|
||||
use Cwd;
|
||||
use 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 "# Various Features Test with WSDL file \n";
|
||||
|
||||
my $data = {name => 'Mein Name',
|
||||
givenName => 'Vorname'};
|
||||
|
||||
my $dir = cwd;
|
||||
|
||||
# chomp /t/ to allow running the script from t/ directory
|
||||
$dir=~s|/t/?||;
|
||||
|
||||
my $t0 = [gettimeofday];
|
||||
ok( my $soap=SOAP::WSDL->new(wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml",
|
||||
no_dispatch => 1
|
||||
));
|
||||
|
||||
print "# Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."ms)\n" ;
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
eval{ $soap->wsdlinit(caching => 0) };
|
||||
unless ($@) {
|
||||
ok(1);
|
||||
} else {
|
||||
ok 0;
|
||||
print STDERR $@;
|
||||
}
|
||||
print "# wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;;
|
||||
|
||||
$soap->readable(1);
|
||||
$soap->servicename("Service1");
|
||||
$soap->portname("Service1Soap");
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
|
||||
ok( $soap->call("sayHello" , %{ $data }));
|
||||
print "# Normal Call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$soap->servicename("Service2");
|
||||
$soap->portname("Service2Soap");
|
||||
|
||||
$data = {name => 'Mein Name',
|
||||
givenName => 'Vorname'};
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
ok($soap->call(sayGoodBye => %{ $data }) );
|
||||
print "# Multiple Services/Port Call: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$soap->servicename("Service2");
|
||||
$soap->portname("Service2Soap");
|
||||
$data = {name => 'Mein Name',
|
||||
givenName => 'Vorname',
|
||||
wsdl_input_name => 'firstOverload'
|
||||
};
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
|
||||
my $xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
||||
$xml =~ /<name/ and ok(1);
|
||||
|
||||
$data = {
|
||||
name => 'Mein Name',
|
||||
givenName => 'Vorname',
|
||||
wsdl_input_name => 'secondOverload'
|
||||
};
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
$xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
||||
$xml !~ /<name/ and ok(1);
|
||||
|
||||
print "# Overloaded Calls: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
|
||||
$soap->servicename("Service2");
|
||||
$soap->portname("Service2Soap");
|
||||
$data = { name => 'Mein Name',
|
||||
'recipients' => [
|
||||
{user_name => 'Adam', last_name => "Eden"},
|
||||
{user_name => 'Eve',last_name => 'Apple'},
|
||||
],
|
||||
wsdl_input_name => 'thirdOverload'
|
||||
};
|
||||
|
||||
$t0 = [gettimeofday];
|
||||
$xml = $soap->serializer->method( $soap->call(sayGoodByeOverload => %{ $data }) );
|
||||
|
||||
my $xpath = new XML::XPath->new(xml=>$xml);
|
||||
|
||||
my @recipients = $xpath->findnodes('//recipients');
|
||||
if($recipients[0]->findvalue("user_name") eq "Adam" and
|
||||
$recipients[0]->findvalue("last_name") eq "Eden" and
|
||||
$recipients[1]->findvalue("user_name") eq "Eve" and
|
||||
$recipients[1]->findvalue("last_name") eq "Apple"){
|
||||
ok(1);
|
||||
}else{
|
||||
ok(0);
|
||||
}
|
||||
print "# Restricted Arrays: (".tv_interval ( $t0, [gettimeofday]) ."s)\n" ;
|
||||
print "#End\n";
|
||||
|
||||
|
||||
27
t/97_pod.t
Normal file
27
t/97_pod.t
Normal file
@@ -0,0 +1,27 @@
|
||||
use Test::More;
|
||||
eval "use Test::Pod 1.00";
|
||||
plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
|
||||
|
||||
use Cwd;
|
||||
|
||||
my $dir = cwd;
|
||||
|
||||
if ( $dir =~ /t$/ )
|
||||
{
|
||||
@directories = ('../lib/');
|
||||
}
|
||||
else
|
||||
{
|
||||
@directories = ();
|
||||
}
|
||||
|
||||
my @files = all_pod_files(
|
||||
@directories
|
||||
);
|
||||
|
||||
plan tests => scalar(@files);
|
||||
|
||||
foreach my $module (@files)
|
||||
{
|
||||
pod_file_ok( $module )
|
||||
}
|
||||
27
t/98_pod_coverage.t
Normal file
27
t/98_pod_coverage.t
Normal file
@@ -0,0 +1,27 @@
|
||||
use Test::More;
|
||||
eval "use Test::Pod::Coverage 1.00";
|
||||
plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD" if $@;
|
||||
|
||||
|
||||
BEGIN
|
||||
{
|
||||
if (-d 't/') # we're not in the test dir - probably using
|
||||
{ # Build test
|
||||
@dirs = ('blib/lib')
|
||||
}
|
||||
else
|
||||
{
|
||||
@dirs = '../lib';
|
||||
use lib '../lib'; # use our lib if we are in t/ (if we are, we're)
|
||||
# not run from "make test" / "Build test"
|
||||
}
|
||||
}
|
||||
|
||||
@files = all_modules( @dirs );
|
||||
plan tests => scalar @files;
|
||||
foreach (@files)
|
||||
{
|
||||
s/^\.\.::blib::lib:://;
|
||||
s/^\.\.::lib:://;
|
||||
pod_coverage_ok( $_ );
|
||||
}
|
||||
@@ -1,75 +1,180 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:s0="urn:HelloWorld"
|
||||
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="urn:HelloWorld"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<s:schema elementFormDefault="qualified"
|
||||
targetNamespace="urn:HelloWorld">
|
||||
<s:element name="sayHello">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayHelloResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1"
|
||||
name="sayHelloResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
</s:schema>
|
||||
</types>
|
||||
|
||||
<message name="sayHelloSoapIn">
|
||||
<part name="parameters" element="s0:sayHello" />
|
||||
</message>
|
||||
|
||||
<message name="sayHelloSoapOut">
|
||||
<part name="parameters" element="s0:sayHelloResponse" />
|
||||
</message>
|
||||
|
||||
<portType name="Service1Soap">
|
||||
<operation name="sayHello">
|
||||
<input message="s0:sayHelloSoapIn" />
|
||||
|
||||
<output message="s0:sayHelloSoapOut" />
|
||||
</operation>
|
||||
</portType>
|
||||
|
||||
<binding name="Service1Soap" type="s0:Service1Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
|
||||
style="document" />
|
||||
|
||||
<operation name="sayHello">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayHello"
|
||||
style="document" />
|
||||
|
||||
<input>
|
||||
<soap:body use="literal" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" />
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
|
||||
<service name="Service1">
|
||||
<port name="Service1Soap" binding="s0:Service1Soap">
|
||||
<soap:address
|
||||
location="http://helloworld/helloworld.asmx" />
|
||||
</port>
|
||||
</service>
|
||||
</definitions>
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:s0="urn:HelloWorld"
|
||||
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="urn:HelloWorld"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<s:schema elementFormDefault="qualified"
|
||||
targetNamespace="urn:HelloWorld">
|
||||
<s:element name="sayHello">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayGoodBye">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayHelloResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="sayHelloResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayGoodByeResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="sayGoodByeResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
<s:complexType name="contact_detail_list">
|
||||
<s:complexContent>
|
||||
<s:restriction base="soapenc:Array">
|
||||
<s:attribute ref="soapenc:arrayType" wsdl:arrayType="s0:person_detail[]"/>
|
||||
</s:restriction>
|
||||
</s:complexContent>
|
||||
</s:complexType>
|
||||
<s:complexType name="person_detail">
|
||||
<s:all>
|
||||
<s:element name="email_address" type="s:string"/>
|
||||
<s:element name="user_name" type="s:string"/>
|
||||
<s:element name="first_name" type="s:string"/>
|
||||
<s:element name="last_name" type="s:string"/>
|
||||
<s:element name="department" type="s:string"/>
|
||||
<s:element name="id" type="s:string"/>
|
||||
<s:element name="title" type="s:string"/>
|
||||
</s:all>
|
||||
</s:complexType>
|
||||
</s:schema>
|
||||
</types>
|
||||
|
||||
<message name="sayHelloSoapIn">
|
||||
<part name="parameters" element="s0:sayHello" />
|
||||
</message>
|
||||
|
||||
<message name="sayGoodByeSoapIn">
|
||||
<part name="parameters" element="s0:sayHello" />
|
||||
</message>
|
||||
|
||||
<message name="sayGoodByeSoapInSecond">
|
||||
</message>
|
||||
|
||||
<message name="sayGoodByeSoapInThird">
|
||||
<part name="name" type="s:string" />
|
||||
<part name="recipients" type="s0:contact_detail_list" />
|
||||
</message>
|
||||
|
||||
|
||||
<message name="sayHelloSoapOut">
|
||||
<part name="parameters" element="s0:sayGoodByeResponse" />
|
||||
</message>
|
||||
|
||||
<message name="sayGoodByeSoapOut">
|
||||
<part name="parameters" element="s0:sayGoodByeResponse" />
|
||||
</message>
|
||||
|
||||
<portType name="Service1Soap">
|
||||
<operation name="sayHello">
|
||||
<input message="s0:sayHelloSoapIn" />
|
||||
|
||||
<output message="s0:sayHelloSoapOut" />
|
||||
</operation>
|
||||
</portType>
|
||||
|
||||
|
||||
<portType name="Service2Soap">
|
||||
|
||||
<operation name="sayGoodBye">
|
||||
<input message="s0:sayGoodByeSoapIn" />
|
||||
<output message="s0:sayGoodByeSoapOut" />
|
||||
</operation>
|
||||
|
||||
<operation name="sayGoodByeOverload">
|
||||
<input message="s0:sayGoodByeSoapIn" name="firstOverload" />
|
||||
<output message="s0:sayGoodByeSoapOut" />
|
||||
</operation>
|
||||
|
||||
<operation name="sayGoodByeOverload">
|
||||
<input message="s0:sayGoodByeSoapInSecond" name="secondOverload" />
|
||||
<output message="s0:sayGoodByeSoapOut" />
|
||||
</operation>
|
||||
|
||||
<operation name="sayGoodByeOverload">
|
||||
<input message="s0:sayGoodByeSoapInThird" name="thirdOverload" />
|
||||
<output message="s0:sayGoodByeSoapOut" />
|
||||
</operation>
|
||||
|
||||
|
||||
</portType>
|
||||
<binding name="Service1Soap" type="s0:Service1Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
|
||||
style="document" />
|
||||
|
||||
<operation name="sayHello">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayHello"
|
||||
style="document" />
|
||||
<input>
|
||||
<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" />
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
<binding name="Service2Soap" type="s0:Service2Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
|
||||
style="document" />
|
||||
<operation name="sayGoodBye">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayGoodBye" style="document" />
|
||||
<input>
|
||||
<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
||||
</output>
|
||||
</operation>
|
||||
<operation name="sayGoodByeOverload">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayGoodBye" style="document" />
|
||||
<input>
|
||||
<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
<service name="Service1">
|
||||
<port name="Service1Soap" binding="s0:Service1Soap">
|
||||
<soap:address
|
||||
location="http://helloworld/helloworld.asmx" />
|
||||
</port>
|
||||
</service>
|
||||
<service name="Service2">
|
||||
<port name="Service2Soap" binding="s0:Service2Soap">
|
||||
<soap:address
|
||||
location="http://helloworld/helloworld.asmx" />
|
||||
</port>
|
||||
</service>
|
||||
</definitions>
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><sayHello xmlns="urn:HelloWorld"><name xsi:type="xsd:string">test</name></sayHello></soap:Body></soap:Envelope>
|
||||
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><sayHello xmlns="urn:HelloWorld"><name xsi:type="xsd:string">test</name><givenName xsi:type="xsd:string">GIVENNAME</givenName><test><name xsi:type="xsd:string">TESTNAME</name><givenName xsi:type="xsd:string">GIVENNAME</givenName></test></sayHello></soap:Body></soap:Envelope>
|
||||
@@ -1,105 +1,105 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:s0="urn:HelloWorld"
|
||||
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="urn:HelloWorld"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<s:schema elementFormDefault="qualified"
|
||||
targetNamespace="urn:HelloWorld">
|
||||
<s:element name="sayHello">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="givenName"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="test"
|
||||
type="s0:test2" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayHelloResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1"
|
||||
name="sayHelloResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:complexType name="test2">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="givenName"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
|
||||
<s:complexType name="testExtended">
|
||||
<s:extension base="s0:test2">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="extend"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:extension>
|
||||
</s:complexType>
|
||||
</s:schema>
|
||||
</types>
|
||||
|
||||
<message name="sayHelloSoapIn">
|
||||
<part name="parameters" element="s0:sayHello" />
|
||||
|
||||
<part name="test1" type="s0:testExtended" />
|
||||
|
||||
<part name="test2" type="s0:test2"
|
||||
targetNamespace="urn:test2" />
|
||||
</message>
|
||||
|
||||
<message name="sayHelloSoapOut">
|
||||
<part name="parameters" element="s0:sayHelloResponse" />
|
||||
</message>
|
||||
|
||||
<portType name="Service1Soap">
|
||||
<operation name="sayHello">
|
||||
<input message="s0:sayHelloSoapIn" />
|
||||
|
||||
<output message="s0:sayHelloSoapOut" />
|
||||
</operation>
|
||||
</portType>
|
||||
|
||||
<binding name="Service1Soap" type="s0:Service1Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
|
||||
style="document" />
|
||||
|
||||
<operation name="sayHello">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayHello"
|
||||
style="document" />
|
||||
|
||||
<input>
|
||||
<soap:body use="literal" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" />
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
|
||||
<service name="Service1">
|
||||
<port name="Service1Soap" binding="s0:Service1Soap">
|
||||
<soap:address
|
||||
location="http://helloworld/helloworld.asmx" />
|
||||
</port>
|
||||
</service>
|
||||
</definitions>
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:s="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:s0="urn:HelloWorld"
|
||||
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
||||
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
|
||||
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
|
||||
targetNamespace="urn:HelloWorld"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
||||
<types>
|
||||
<s:schema elementFormDefault="qualified"
|
||||
targetNamespace="urn:HelloWorld">
|
||||
<s:element name="sayHello">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="givenName"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="test"
|
||||
type="s0:test2" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:element name="sayHelloResponse">
|
||||
<s:complexType>
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1"
|
||||
name="sayHelloResult" type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
</s:element>
|
||||
|
||||
<s:complexType name="test2">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="name"
|
||||
type="s:string" />
|
||||
|
||||
<s:element minOccurs="0" maxOccurs="1" name="givenName"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:complexType>
|
||||
|
||||
<s:complexType name="testExtended">
|
||||
<s:extension base="s0:test2">
|
||||
<s:sequence>
|
||||
<s:element minOccurs="0" maxOccurs="1" name="extend"
|
||||
type="s:string" />
|
||||
</s:sequence>
|
||||
</s:extension>
|
||||
</s:complexType>
|
||||
</s:schema>
|
||||
</types>
|
||||
|
||||
<message name="sayHelloSoapIn">
|
||||
<part name="parameters" element="s0:sayHello" />
|
||||
|
||||
<part name="test1" type="s0:testExtended" />
|
||||
|
||||
<part name="test2" type="s0:test2"
|
||||
targetNamespace="urn:test2" />
|
||||
</message>
|
||||
|
||||
<message name="sayHelloSoapOut">
|
||||
<part name="parameters" element="s0:sayHelloResponse" />
|
||||
</message>
|
||||
|
||||
<portType name="Service1Soap">
|
||||
<operation name="sayHello">
|
||||
<input message="s0:sayHelloSoapIn" />
|
||||
|
||||
<output message="s0:sayHelloSoapOut" />
|
||||
</operation>
|
||||
</portType>
|
||||
|
||||
<binding name="Service1Soap" type="s0:Service1Soap">
|
||||
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
|
||||
style="document" />
|
||||
|
||||
<operation name="sayHello">
|
||||
<soap:operation soapAction="urn:HelloWorld#sayHello"
|
||||
style="document" />
|
||||
|
||||
<input>
|
||||
<soap:body use="literal" />
|
||||
</input>
|
||||
|
||||
<output>
|
||||
<soap:body use="literal" />
|
||||
</output>
|
||||
</operation>
|
||||
</binding>
|
||||
|
||||
<service name="Service1">
|
||||
<port name="Service1Soap" binding="s0:Service1Soap">
|
||||
<soap:address
|
||||
location="http://helloworld/helloworld.asmx" />
|
||||
</port>
|
||||
</service>
|
||||
</definitions>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user