From f2ce9511e001c7547e8a2c06170d1d66c414c833 Mon Sep 17 00:00:00 2001 From: Scott Walters Date: Thu, 21 Aug 2014 07:27:58 -0400 Subject: [PATCH] I don't get it. There were two calls to get_port() right next to each other, in the very same ? :, and one of them had a ->[0] tacked on the end and the other one didn't. Well guess what... the one without was returning an arrayref, which caused these failures in the unit tests: Can't call method "get_binding" on unblessed reference at /home/scott/projects/SOAP-WSDL/blib/lib/SOAP/WSDL.pm line 186. --- lib/SOAP/WSDL.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/SOAP/WSDL.pm b/lib/SOAP/WSDL.pm index 6d839f3..c9f556b 100644 --- a/lib/SOAP/WSDL.pm +++ b/lib/SOAP/WSDL.pm @@ -174,7 +174,7 @@ sub _wsdl_get_port :PRIVATE { my $wsdl = $definitions_of{ $ident }; my $ns = $wsdl->get_targetNamespace(); return $port_of{ $ident } = $portname_of{ $ident } - ? $service_of{ $ident }->get_port( $ns, $portname_of{ $ident } ) + ? $service_of{ $ident }->get_port( $ns, $portname_of{ $ident } )->[ 0 ] : ( $port_of{ $ident } = $service_of{ $ident }->get_port()->[ 0 ] ); }