Subject: | Bugfix - tests now passed |
Date: | Thu, 27 Mar 2014 17:39:28 +0000 |
To: | bug-SOAP-ISIWoK [...] rt.cpan.org |
From: | tmb <tmb [...] ecs.soton.ac.uk> |
Does not pass "make test".
The ISI WoK WSDL defines operations (like "authenticate") like this:
<wsdl:operation name="authenticate">
<soap:operation soapAction="" style="document"/>
But SOAP::Lite by default sends a SOAPAction header like this:
SOAPAction: "http://auth.cxf.wokmws.thomsonreuters.com#authenticate"
It seems that some SOAP servers don't like this, see for example
anecdotal evidence here:
http://stackoverflow.com/questions/13902874/apache-cxf-the-given-soapaction-does-not-match-an-operation
Removing the SOAPAction header fixed the problem for me and all tests
now passed:
--- a/perl_lib/SOAP/ISIWoK.pm 2013-07-30 13:07:46.000000000 +0100
+++ b/perl_lib/SOAP/ISIWoK.pm 2014-03-27 16:57:45.766338742 +0000
@@ -1,6 +1,6 @@
package SOAP::ISIWoK;
-use SOAP::Lite;
+use SOAP::Lite on_action => sub {};
use HTTP::Cookies;
use MIME::Base64;
#use SOAP::Lite +'trace';
--
Timothy Miles-Board
EPrints Services
School of Electronics and Computer Science
University of Southampton, UK
+44 (0)23 8059 3980 tmb@ecs.soton.ac.uk
http://www.eprints.org/services/
Consultancy - Training - Hosting