#!/usr/bin/perl use 5.018; use strict; use warnings; use Data::Dumper qw{Dumper}; use XML::Compile::SOAP11; use XML::Compile::SOAP12; use XML::Compile::WSDL11; my $WsdlUrl; my $WsdlXml; my $SoapSrvc; my (%SoapOps); $WsdlUrl = "http://maxcavmes04/CamstarExternal/camstar.svc"; $WsdlXml = XML::LibXML->new->parse_file($WsdlUrl); $SoapSrvc = XML::Compile::WSDL11->new($WsdlXml); print Dumper(\$SoapSrvc); foreach my $SoapOp ($SoapSrvc->operations()) { # XML::Compile::SOAP 2.x if ($XML::Compile::SOAP::VERSION > 1.99) { $SoapOps{$SoapOp->name} = $SoapSrvc->compileClient(operation => $SoapOp->name, port => SOAP_PORT_TYPE); } else # XML::Compile::SOAP 0.7x { $SoapOps{$SoapOp->{operation}} = $SoapSrvc->compileClient(operation => $SoapOp->{operation}, port => SOAP_PORT_TYPE); } } print "\n\n"; exit(0);