diff --git a/CHANGES b/CHANGES index e30b3a4..d87f1d8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,14 +1,53 @@ $Log: CHANGES,v $ -Revision 1.6 2004/06/11 19:51:49 lsc -- changed expansion mode +Revision 1.18 2004/07/16 07:43:05 lsc +fixed test scripts for windows -Revision 1.5 2004/06/11 19:49:54 lsc +Revision 1.17 2004/07/05 08:19:49 lsc +- added wsdl_checkoccurs + +Revision 1.16 2004/07/04 09:01:14 lsc +- change element lookup from find('/definitions') and find('wsdl:definitions') to find('/*[1]') to process arbitrary default (wsdl) namespaces correctly +- fixed test output in test 06 + +Revision 1.15 2004/07/02 12:28:31 lsc +- documentation update +- cosmetics + +Revision 1.14 2004/07/02 10:53:36 lsc +- API change: + - call now behaves (almost) like SOAP::Lite::call + - call() takes a list (hash) as second argument + - call does no longer support the "dispatch" option + - dispatching calls can be suppressed by passing + "no_dispatch => 1" to new() + - dispatching calls can be suppressed by calling + $soap->no_dispatch(1); + and re-enabled by calling + $soap->no_dispatch(0); +- Updated test skripts to reflect API change. + +Revision 1.13 2004/06/30 12:08:40 lsc +- added IServiceInstance (ecmed) to acceptance tests +- refined documentation + +Revision 1.12 2004/06/26 14:13:29 lsc +- refined file caching +- added descriptive output to test scripts + +Revision 1.11 2004/06/26 07:55:40 lsc +- fixed "freeze" caching bug +- improved test scripts to test file system caching (and show the difference) + +Revision 1.10 2004/06/26 06:30:33 lsc +- added filesystem caching using Cache::FileCache + +Revision 1.9 2004/06/24 12:27:23 lsc +Cleanup + +Revision 1.8 2004/06/11 19:49:15 lsc - moved .t files to more self-describing names - changed WSDL.pm to accept AXIS wsdl files - implemented XPath query result caching on all absolute queries -Revision 1.4 2004/06/11 12:12:20 lsc -CPAN preparation - -Revision 1.3 2004/06/11 11:59:51 lsc -Test commit +Revision 1.7 2004/06/07 13:01:16 lsc +added changelog to pod diff --git a/WSDL.pm b/WSDL.pm index fc74580..03a1140 100644 --- a/WSDL.pm +++ b/WSDL.pm @@ -13,7 +13,7 @@ use diagnostics; @ISA= qw(SOAP::Lite); # let CVS handle this for you... -$VERSION = sprintf("%d.%02d", q$Revision: 1.17 $ =~ /(\d+)\.(\d+)/); +$VERSION = sprintf("%d.%02d", q$Revision: 1.18 $ =~ /(\d+)\.(\d+)/); sub wsdlinit { my $self=shift; @@ -934,6 +934,16 @@ be stable from 1.14 on, and that is the part you'll use most frequently. =over +=item * Check for the correct number of elements confused with complex types + +If a complex type is marked optional in a WSDL file, but sub-parts are marked as +required, SOAP::WSDL will die if the complex type is not found in the data +(because it checks only for the occurence of simple type elements). + +A quick-and-dirty workaround is to turn off the check with + + $soap->wsdl_checkoccurs(0); + =item * Arrays of complex types are not checked for the correct number of elements Arrays of complex types are just encoded and not checked for correctness etc. @@ -980,6 +990,9 @@ to the user. =head1 CHANGES $Log: WSDL.pm,v $ +Revision 1.18 2004/07/16 07:43:05 lsc +fixed test scripts for windows + Revision 1.17 2004/07/05 08:19:49 lsc - added wsdl_checkoccurs diff --git a/t/1_performance.t b/t/1_performance.t index d705418..f22227f 100644 --- a/t/1_performance.t +++ b/t/1_performance.t @@ -4,6 +4,7 @@ use Test::More tests=> 7; use Time::HiRes qw( gettimeofday tv_interval ); use lib '../..'; use Data::Dumper; +use Cwd; use_ok "SOAP::WSDL"; ### test vars END @@ -15,13 +16,19 @@ my $data = { 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:///home/lsc/eclipse3/workspace/SOAP/t/acceptance/helloworld.asmx.xml', + wsdl => "file://$dir/t/acceptance/helloworld.asmx.xml", no_dispatch => 1 ), "Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."ms)" ); #->proxy('http://erlm5aqa.ww001.siemens.net/lasttest/helloworld/helloworld.asmx' ); -$soap->proxy('http://erlm5aqa.ww001.siemens.net/lasttest/helloworld/helloworld.asmx'); +$soap->proxy('http://helloworld/helloworld.asmx'); $t0 = [gettimeofday]; ok($soap->wsdlinit(caching => 1), "wsdl file init (".tv_interval ( $t0, [gettimeofday]) ."s)" );; diff --git a/t/2_helloworld.NET.t b/t/2_helloworld.NET.t index 7bd2670..1705f77 100644 --- a/t/2_helloworld.NET.t +++ b/t/2_helloworld.NET.t @@ -15,6 +15,7 @@ use diagnostics; use Test::More tests => 5; use Time::HiRes qw( gettimeofday tv_interval ); use lib '../..'; +use Cwd; use_ok "SOAP::WSDL"; ### test vars END print "Testing SOAP::WSDL ". $SOAP::WSDL::VERSION."\n"; @@ -39,14 +40,13 @@ my $data = { }; my $t0 = [gettimeofday]; -my $dir=`pwd`; -chomp $dir; +my $dir= cwd; $dir=~s/\/t//; ok( my $soap=SOAP::WSDL->new( wsdl => 'file:///'.$dir.'/t/acceptance/test.wsdl.xml', no_dispatch => 1 ), "Create SOAP::WSDL object (".tv_interval ( $t0, [gettimeofday]) ."s)" ); #->proxy('http://erlm5aqa.ww001.siemens.net/lasttest/helloworld/helloworld.asmx' ); -$soap->proxy('http://erlm5aqa.ww001.siemens.net/lasttest/helloworld/helloworld.asmx'); +$soap->proxy('http://helloworld/helloworld.asmx'); $t0 = [gettimeofday]; ok($soap->wsdlinit(), "WSDL init (".tv_interval ( $t0, [gettimeofday]) ."s)") ; diff --git a/t/acceptance/helloworld.asmx.xml b/t/acceptance/helloworld.asmx.xml index 05412bd..0a18a42 100644 --- a/t/acceptance/helloworld.asmx.xml +++ b/t/acceptance/helloworld.asmx.xml @@ -68,7 +68,7 @@ xmlns="http://schemas.xmlsoap.org/wsdl/"> + location="http://helloworld/helloworld.asmx" />