Skip Menu |

This queue is for tickets about the SOAP-Lite CPAN distribution.

Report information
The Basics
Id: 126032
Status: new
Priority: 0/
Queue: SOAP-Lite

People
Owner: Nobody in particular
Requestors: sqko [...] dtu.dk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Bub in SOAP Lite when using multiple services simultaneously
Date: Fri, 10 Aug 2018 09:25:34 +0200
To: <bug-SOAP-Lite [...] rt.cpan.org>
From: Søren Koch <sqko [...] dtu.dk>
Subject: Bub in SOAP Lite when using multiple services simultaneously
To: bug-SOAP-Lite [...] rt.cpan.org
From: Søren Koch <sqko [...] dtu.dk>
Dear maintainer of SOAP::Lite I think we have discovered a rather severe bug in the way SOAP::Lite operates with WSDL files. I have 2 servers which both exposes the same service through their respective wsdl files. They both have the 'ping' command (which basically just returns the hostname of the server as a string) Individually they work as they should, but if you use them in the same program as shown below, it appears as if the service functions of the first SOAP instance gets overwritten with the ones of the second! My script looks like this: #!perl -w use SOAP::Lite; my $wsdl1 = 'https://celletest-15.energy.dtu.dk/wsdl/report.wsdl'; my $wsdl2 = 'https://celletest-11.energy.dtu.dk/wsdl/report.wsdl'; my $soap1 = SOAP::Lite->service($wsdl1); print "SOAP 1 ping: ",$soap1->ping,"\n"; my $soap2 = SOAP::Lite->service($wsdl2); print "SOAP 2 ping: ",$soap2->ping,"\n"; print "Recall ping on SOAP 1\n"; print "SOAP 1 ping: ",$soap1->ping,"\n"; And the expected output should be: [sqko@equipment-devel-01 ~]$ perl SOAP_test.pl SOAP 1 ping: celletest-15.energy.dtu.dk SOAP 2 ping: celletest-11.energy.dtu.dk Recall ping on SOAP 1 SOAP 1 ping: celletest-15.energy.dtu.dk However instead we get: [sqko@equipment-devel-01 ~]$ perl SOAP_test.pl SOAP 1 ping: celletest-15.energy.dtu.dk Subroutine _call redefined at (eval 134) line 111. Subroutine ReportHandlerService::want_som redefined at (eval 134) line 155. Subroutine AUTOLOAD redefined at (eval 134) line 172. Subroutine ReportHandlerService::last_user redefined at (eval 134) line 170. Subroutine ReportHandlerService::search redefined at (eval 134) line 170. Subroutine ReportHandlerService::is_test redefined at (eval 134) line 170. Subroutine ReportHandlerService::version redefined at (eval 134) line 170. Subroutine ReportHandlerService::list_servers redefined at (eval 134) line 170. Subroutine ReportHandlerService::rig_auth redefined at (eval 134) line 170. Subroutine ReportHandlerService::rig_task redefined at (eval 134) line 170. Subroutine ReportHandlerService::is_report redefined at (eval 134) line 170. Subroutine ReportHandlerService::rigs redefined at (eval 134) line 170. Subroutine ReportHandlerService::ping redefined at (eval 134) line 170. Subroutine ReportHandlerService::servers redefined at (eval 134) line 170. Subroutine ReportHandlerService::active_rigs redefined at (eval 134) line 170. SOAP 2 ping: celletest-11.energy.dtu.dk Recall ping on SOAP 1 SOAP 1 ping: celletest-11.energy.dtu.dk As can be seen, the second call to $soap1->ping returns the result for $soap2 (and perl warns about redefining subroutines)! SOAP::Lite-1.27 Perl: This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi OS: CentOS 7:Linux equipment-devel-01.energy.dtu.dk 3.10.0-862.6.3.el7.x86_64 #1 SMP Tue Jun 26 16:32:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux Yours Søren koch -- Søren Koch Senior Development Engineer DTU Energy, Risø Campus ------------------------------------------- Technical University of Denmark Department of Energy Conversion and Storage Frederiksborgvej 399 Building 227, 1.sal 4000 Roskilde Direct +45 46775816 sqko@dtu.dk http://www.ecs.dtu.dk
Download signature.asc
application/pgp-signature 819b

Message body not shown because it is not plain text.