<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: perl webservices client in Active IQ Unified Manager Discussions</title>
    <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7304#M1627</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying this sample code to call getAllWorkflows, and I have XML output enabled to help me debug this&amp;nbsp; I get the following error when using the _doc service address:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;env:Envelope xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;env:Header&amp;gt;&amp;lt;/env:Header&amp;gt;&amp;lt;env:Body&amp;gt;&amp;lt;env:Fault xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;faultcode&amp;gt;env:Server&amp;lt;/faultcode&amp;gt;&amp;lt;faultstring&amp;gt;Request struct cannot be null&amp;lt;/faultstring&amp;gt;&amp;lt;/env:Fault&amp;gt;&amp;lt;/env:Body&amp;gt;&amp;lt;/env:Envelope&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've also tried the _rpc service address, and then I get the following error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;env:Envelope xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;env:Header&amp;gt;&amp;lt;/env:Header&amp;gt;&amp;lt;env:Body&amp;gt;&amp;lt;env:Fault xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;faultcode&amp;gt;env:VersionMismatch&amp;lt;/faultcode&amp;gt;&amp;lt;faultstring&amp;gt;Invalid SOAP envelope namespace: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/wsdl/soap/" target="_blank"&gt;http://schemas.xmlsoap.org/wsdl/soap/&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/faultstring&amp;gt;&amp;lt;/env:Fault&amp;gt;&amp;lt;/env:Body&amp;gt;&amp;lt;/env:Envelope&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do believe that my authentication is working, as I get a different error if I put in the wrong URL or wrong user/pass.&amp;nbsp; My code is below....any thoughts?&amp;nbsp; Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl -w&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict;&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $user&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;my $pass&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $soapurl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl" target="_blank"&gt;http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;my $usexml&amp;nbsp; = 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $user =&amp;gt; $pass;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $service = SOAP::Lite -&amp;gt; service($soapurl);&lt;/P&gt;&lt;P&gt;$service-&amp;gt;outputxml($usexml);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $result = $service-&amp;gt;getAllWorkflows();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print "R:$result\n";&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Sep 2012 19:50:18 GMT</pubDate>
    <dc:creator>arndt</dc:creator>
    <dc:date>2012-09-12T19:50:18Z</dc:date>
    <item>
      <title>perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7265#M1621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Has anybody written any code to use perl to connect to WFA webservices?&amp;nbsp; Can it be done?&amp;nbsp; The only example provided in the webservices guide uses a MS-specific auth method.&amp;nbsp; I'm trying to write some perl, but I'm stuck at the auth piece.&amp;nbsp; I'm a bit of a webservices newbie here.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jun 2025 06:20:01 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7265#M1621</guid>
      <dc:creator>kleemola</dc:creator>
      <dc:date>2025-06-05T06:20:01Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7269#M1622</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have done this with PHP but I assume that it will be very similar.&amp;nbsp; The key is to look at the function in the WSDL to determine what values need to be passed and how.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;code php&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;$soapClient&amp;nbsp;&amp;nbsp; = new SoapClient("&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://wfaServer/wfa-ws/WorkflowService_doc?wsdl" target="_blank"&gt;http://wfaServer/wfa-ws/WorkflowService_doc?wsdl&lt;/A&gt;&lt;SPAN&gt;", &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; array(&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 'login'=&amp;gt;'admin',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; 'password'=&amp;gt;'admin'))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;$client-&amp;gt;executeWorkflow (array ("workflowId" =&amp;gt; WorkflowNumber, "userInputsEqualsValues" =&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array ("userInput1=Value1", "userInput2=Value2")&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;);&lt;/P&gt;&lt;P&gt;&amp;lt;/code php&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 30 Aug 2012 21:24:30 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7269#M1622</guid>
      <dc:creator>goodrum</dc:creator>
      <dc:date>2012-08-30T21:24:30Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7277#M1623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;sorry i don't have an example of my own to share, but this is where i would start looking:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://search.cpan.org/~mkutter/SOAP-WSDL-2.00.10/lib/SOAP/WSDL/Manual/Cookbook.pod#Accessing_HTTP(S)_webservices_with_basic/digest_authentication" title="http://search.cpan.org/~mkutter/SOAP-WSDL-2.00.10/lib/SOAP/WSDL/Manual/Cookbook.pod#Accessing_HTTP(S)_webservices_with_basic/digest_authentication" target="_blank"&gt;http://search.cpan.org/~mkutter/SOAP-WSDL-2.00.10/lib/SOAP/WSDL/Manual/Cookbook.pod#Accessing_HTTP(S)_webservices_with_basic/digest_authentication&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Aug 2012 02:43:11 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7277#M1623</guid>
      <dc:creator>pwl</dc:creator>
      <dc:date>2012-08-31T02:43:11Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7285#M1624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here is a sample code. &lt;/P&gt;&lt;P&gt;=================================================&lt;/P&gt;&lt;P&gt;#!perl -w&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $lite = SOAP::Lite -&amp;gt; service('&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://wfa_ip_address/wfa-ws/WorkflowService_doc?wsdl');" target="_blank"&gt;http://wfa_ip_address/wfa-ws/WorkflowService_doc?wsdl');&lt;/A&gt;&lt;/P&gt;&lt;P&gt;print "After creating Service \n";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $res = $lite-&amp;gt;getAllWorkflows();&lt;/P&gt;&lt;P&gt;print "After calling getAllworkflows\n";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 'username' =&amp;gt; 'password';&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;================================================ &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 31 Aug 2012 11:06:39 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7285#M1624</guid>
      <dc:creator>girirp</dc:creator>
      <dc:date>2012-08-31T11:06:39Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7293#M1625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;None of the examples here work for me.&amp;nbsp;&amp;nbsp; The PHP example I get:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PHP Parse error:&amp;nbsp; syntax error, unexpected T_VARIABLE in /root/wfa/wfa.php on line 20&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And the Perl Example the variable is empty even though the script completes without error.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2012 17:55:10 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7293#M1625</guid>
      <dc:creator>tp7317</dc:creator>
      <dc:date>2012-09-07T17:55:10Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7298#M1626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm having some success using the SOAP::WSDL module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1a.&amp;nbsp; Install SOAP::WSDL and SOAP::Lite from cpan.&amp;nbsp; &lt;/P&gt;&lt;P&gt;1b. Libexpat-dev is required on the system first!!&lt;/P&gt;&lt;P&gt;2.&amp;nbsp; wsdl2perl.pl -b /usr/lib/perl5/ &lt;A href="http://192.168.1.14/wfa-ws/WorkflowService_doc?wsdl" target="_blank"&gt;http://wfaserver/wfa-ws/WorkflowService_doc?wsdl&lt;/A&gt;&lt;/P&gt;&lt;P&gt;where: /usr/lib/perl is somewhere in your @INC path and the second arg is the url of the doc/literal service for your WFA inst.&lt;/P&gt;&lt;P&gt;3.&amp;nbsp; Here's what I've got so far.&amp;nbsp; Replace $user and $password.&amp;nbsp; Authentication works fine, though I'd prefer to use the WSDL module auth.&amp;nbsp; The result comes back as the body of the SOAP message.&amp;nbsp; I'm now working on parsing it.&amp;nbsp; If anybody has any input on that, please speak up.&amp;nbsp; &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.netapp.com/5.0.1/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;BR /&gt;#use SOAP::Lite +autodispatch, +trace =&amp;gt; debug;&lt;BR /&gt;use MyInterfaces::WorkflowService::WorkflowService_docPort;&lt;BR /&gt;use MyTypes::getAllWorkflows;&lt;BR /&gt;use MyElements::getAllWorkflows;&lt;BR /&gt;use MyTypemaps::WorkflowService;&lt;BR /&gt;use SOAP::WSDL;&lt;BR /&gt;use SOAP::WSDL::Client;&lt;BR /&gt;use SOAP::WSDL::Transport::HTTP;&lt;/P&gt;&lt;P&gt;my $user = "myuser";&lt;BR /&gt;my $password = "mypassword";&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;BR /&gt;return $user =&amp;gt; $password ;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;## Connect to service&lt;BR /&gt;my $service = MyInterfaces::WorkflowService::WorkflowService_docPort-&amp;gt;new();&lt;/P&gt;&lt;P&gt;## Print results&lt;BR /&gt;#my $result = MyTypes::getAllWorkflows;&lt;BR /&gt;my $result = $service-&amp;gt;getAllWorkflows();&lt;BR /&gt;die $result if not $result;&lt;BR /&gt;my $xml = $result;&lt;BR /&gt;print "\nMy xml:\n $xml \n\n";&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Sep 2012 18:37:52 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7298#M1626</guid>
      <dc:creator>kleemola</dc:creator>
      <dc:date>2012-09-07T18:37:52Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7304#M1627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm trying this sample code to call getAllWorkflows, and I have XML output enabled to help me debug this&amp;nbsp; I get the following error when using the _doc service address:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;env:Envelope xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;env:Header&amp;gt;&amp;lt;/env:Header&amp;gt;&amp;lt;env:Body&amp;gt;&amp;lt;env:Fault xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;faultcode&amp;gt;env:Server&amp;lt;/faultcode&amp;gt;&amp;lt;faultstring&amp;gt;Request struct cannot be null&amp;lt;/faultstring&amp;gt;&amp;lt;/env:Fault&amp;gt;&amp;lt;/env:Body&amp;gt;&amp;lt;/env:Envelope&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've also tried the _rpc service address, and then I get the following error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;env:Envelope xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;env:Header&amp;gt;&amp;lt;/env:Header&amp;gt;&amp;lt;env:Body&amp;gt;&amp;lt;env:Fault xmlns:env='&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/soap/envelope/" target="_blank"&gt;http://schemas.xmlsoap.org/soap/envelope/&lt;/A&gt;&lt;SPAN&gt;'&amp;gt;&amp;lt;faultcode&amp;gt;env:VersionMismatch&amp;lt;/faultcode&amp;gt;&amp;lt;faultstring&amp;gt;Invalid SOAP envelope namespace: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://schemas.xmlsoap.org/wsdl/soap/" target="_blank"&gt;http://schemas.xmlsoap.org/wsdl/soap/&lt;/A&gt;&lt;SPAN&gt;&amp;lt;/faultstring&amp;gt;&amp;lt;/env:Fault&amp;gt;&amp;lt;/env:Body&amp;gt;&amp;lt;/env:Envelope&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do believe that my authentication is working, as I get a different error if I put in the wrong URL or wrong user/pass.&amp;nbsp; My code is below....any thoughts?&amp;nbsp; Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl -w&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict;&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $user&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;my $pass&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $soapurl = "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl" target="_blank"&gt;http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl&lt;/A&gt;&lt;SPAN&gt;";&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;my $usexml&amp;nbsp; = 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $user =&amp;gt; $pass;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $service = SOAP::Lite -&amp;gt; service($soapurl);&lt;/P&gt;&lt;P&gt;$service-&amp;gt;outputxml($usexml);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $result = $service-&amp;gt;getAllWorkflows();&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;print "R:$result\n";&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Sep 2012 19:50:18 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7304#M1627</guid>
      <dc:creator>arndt</dc:creator>
      <dc:date>2012-09-12T19:50:18Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7310#M1628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try:&lt;/P&gt;&lt;P&gt;use SOAP::Lite +autodispatch;&lt;/P&gt;&lt;P&gt;And/or:&lt;/P&gt;&lt;P&gt;use SOAP::Lite +autodispatch, +trace =&amp;gt; debug;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See my post elsewhere in the thread.&amp;nbsp; I'm having better success using the SOAP::WSDL module.&amp;nbsp; I believe the WFA team is working on some official documentation on WFA/perf webservice integration, so stay tuned.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 13:33:02 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7310#M1628</guid>
      <dc:creator>kleemola</dc:creator>
      <dc:date>2012-09-13T13:33:02Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7315#M1629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, I finally got this figured out by looking at the XML request being sent by the perl script that was not working with a PHP script that was working.&amp;nbsp; The Perl script was not properly setting the namespace, so I modified the way that the Perl script connects as shown below.&amp;nbsp; Below is also an example of parsing the output sent back for the GetAllWorkflows call.&amp;nbsp; Note that I also had to use the _rpc interface instead of the _doc interface to the WFA web services.&amp;nbsp; Hope this helps someone else looking to connect to WFA web services via Perl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl -w&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict;&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;my $pass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $namespace = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://ws.wfa.netapp.com/';" target="_blank"&gt;http://ws.wfa.netapp.com/';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $soapurl&amp;nbsp;&amp;nbsp; = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://WFA_IP/wfa-ws/WorkflowService_rpc?wsdl';" target="_blank"&gt;http://WFA_IP/wfa-ws/WorkflowService_rpc?wsdl';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $user =&amp;gt; $pass;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;my $service = new SOAP::Lite&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uri&amp;nbsp;&amp;nbsp; =&amp;gt; $namespace,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy =&amp;gt; $soapurl,&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $som&amp;nbsp;&amp;nbsp;&amp;nbsp; = $service-&amp;gt;getAllWorkflows();&lt;/P&gt;&lt;P&gt;my $result = $som-&amp;gt;result;&lt;/P&gt;&lt;P&gt;my $items&amp;nbsp; = $result-&amp;gt;{'item'};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for my $item (@$items) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $item-&amp;gt;{'id'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Category:&amp;nbsp;&amp;nbsp;&amp;nbsp; $item-&amp;gt;{'category'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $item-&amp;gt;{'name'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Description: $item-&amp;gt;{'description'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Input: \n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $inputs = $item-&amp;gt;{'userInput'};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for my $input (sort @$inputs) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp; $input-&amp;gt;{'name'} ($input-&amp;gt;{'type'})\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n";&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 17:44:33 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7315#M1629</guid>
      <dc:creator>arndt</dc:creator>
      <dc:date>2012-09-13T17:44:33Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7320#M1630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great work mike!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2012 01:50:40 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7320#M1630</guid>
      <dc:creator>pwl</dc:creator>
      <dc:date>2012-09-14T01:50:40Z</dc:date>
    </item>
    <item>
      <title>Re: perl webservices client</title>
      <link>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7325#M1631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here are some more examples of using Perl to interact with WFA via SOAP...along with comments that give some hints about where I had struggles.&amp;nbsp; I'm not sure if my struggles were due to the immaturity of the SOAP::Lite module or my own lack of SOAP experience, but I suspect it's a combination of both &lt;SPAN __jive_emoticon_name="laugh" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.netapp.com/5.0.1/images/emoticons/laugh.gif"&gt;&lt;/SPAN&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wfa_get_all_workflows.pl&lt;/P&gt;&lt;P&gt;------------------------------------&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl -w&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict;&lt;/P&gt;&lt;P&gt;# Use 'trace' if you need to debug the XML interactions.&lt;/P&gt;&lt;P&gt;#use SOAP::Lite 'trace';&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# We have to use the RPC interface for SOAP calls that don't have&lt;/P&gt;&lt;P&gt;# any arguments.&amp;nbsp; Google xsi:nil true soap::lite if you want the gory&lt;/P&gt;&lt;P&gt;# details about how SOAP::Lite is broken.&amp;nbsp; Thankfully, WFA supports&lt;/P&gt;&lt;P&gt;# both doc and rpc interfaces.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $soapurl&amp;nbsp;&amp;nbsp; = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://WFA_IP/wfa-ws/WorkflowService_rpc?wsdl';" target="_blank"&gt;http://WFA_IP/wfa-ws/WorkflowService_rpc?wsdl';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $namespace = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://ws.wfa.netapp.com/';" target="_blank"&gt;http://ws.wfa.netapp.com/';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;my $user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;my $pass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $user =&amp;gt; $pass;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;my $service = new SOAP::Lite&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uri&amp;nbsp;&amp;nbsp; =&amp;gt; $namespace,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy =&amp;gt; $soapurl,&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;$service-&amp;gt;ns($namespace);&lt;/P&gt;&lt;P&gt;# Setting autotype is not really necessary, but I like it when debugging.&lt;/P&gt;&lt;P&gt;$service-&amp;gt;autotype('0');&lt;/P&gt;&lt;P&gt;# The use_prefix setting is deprecated, but I think it makes debbuing easier&lt;/P&gt;&lt;P&gt;# if you have tracing enabled.&lt;/P&gt;&lt;P&gt;#$service-&amp;gt;use_prefix('0');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $som&amp;nbsp;&amp;nbsp;&amp;nbsp; = $service-&amp;gt;getAllWorkflows();&lt;/P&gt;&lt;P&gt;my $result = $som-&amp;gt;result;&lt;/P&gt;&lt;P&gt;my $items&amp;nbsp; = $result-&amp;gt;{'item'};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for my $item (@$items) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $item-&amp;gt;{'id'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Category:&amp;nbsp;&amp;nbsp;&amp;nbsp; $item-&amp;gt;{'category'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $item-&amp;gt;{'name'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Description: $item-&amp;gt;{'description'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Workflow Input: \n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $inputs = $item-&amp;gt;{'userInput'};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for my $input (sort @$inputs) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "&amp;nbsp; $input-&amp;gt;{'name'} ($input-&amp;gt;{'type'})\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "\n";&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wfa_run_workflow.pl&lt;/P&gt;&lt;P&gt;----------------------------&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl -w&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict;&lt;/P&gt;&lt;P&gt;# Use 'trace' if you need to debug the XML interactions.&lt;/P&gt;&lt;P&gt;#use SOAP::Lite 'trace';&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Oddly, the doc interface works and the rpc interface does not work when&lt;/P&gt;&lt;P&gt;# making a SOAP call with arguments.&amp;nbsp; The opposite is true when making&lt;/P&gt;&lt;P&gt;# SOAP calls with no arguments.&amp;nbsp; Good thing WFA supports both.&amp;nbsp; SOAP is fun.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $soapurl&amp;nbsp;&amp;nbsp; = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl';" target="_blank"&gt;http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $namespace = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://ws.wfa.netapp.com/';" target="_blank"&gt;http://ws.wfa.netapp.com/';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;my $user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;my $pass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $user =&amp;gt; $pass;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;my $service = new SOAP::Lite&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uri&amp;nbsp;&amp;nbsp; =&amp;gt; $namespace,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy =&amp;gt; $soapurl,&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;$service-&amp;gt;ns($namespace);&lt;/P&gt;&lt;P&gt;# Setting autotype is not really necessary, but I like it when debugging.&lt;/P&gt;&lt;P&gt;$service-&amp;gt;autotype('0');&lt;/P&gt;&lt;P&gt;# The use_prefix setting is deprecated, but I think it makes debbuing easier&lt;/P&gt;&lt;P&gt;# if you have tracing enabled.&lt;/P&gt;&lt;P&gt;#$service-&amp;gt;use_prefix('0');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $wfid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 31;&lt;/P&gt;&lt;P&gt;my $wfidparam = SOAP::Data-&amp;gt;name('workflowId')-&amp;gt;value($wfid);&lt;/P&gt;&lt;P&gt;my $wfparams&amp;nbsp; = SOAP::Data-&amp;gt;name('userInputsEqualsValues')-&amp;gt;value&lt;/P&gt;&lt;P&gt;([&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'controllerName=demo3020a.demo.ntapmn.com',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'vfilerName=dmvfiler1',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'volName_1=arndt_test',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'qtreeName_1=wfasoapqt4',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'qtreeStyle_1=unix',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'create_Share_1=no',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'create_Export_1=yes',&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'rootHosts=10.26.69.212:10.26.69.213',&lt;/P&gt;&lt;P&gt;]);&lt;/P&gt;&lt;P&gt;# I had to set even the optional arguments to make this work.&lt;/P&gt;&lt;P&gt;my $wftime&amp;nbsp;&amp;nbsp; = SOAP::Data-&amp;gt;name('executionDateAndTime')-&amp;gt;value('');&lt;/P&gt;&lt;P&gt;my $wfcom&amp;nbsp;&amp;nbsp;&amp;nbsp; = SOAP::Data-&amp;gt;name('comment')-&amp;gt;value('');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $som = $service-&amp;gt;runWorkflow($wfidparam,$wfparams,$wftime,$wfcom);&lt;/P&gt;&lt;P&gt;if ($som-&amp;gt;faultcode) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Fault Code:", $som-&amp;gt;faultcode, "\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Fault String:", $som-&amp;gt;faultstring, "\n";&lt;/P&gt;&lt;P&gt;} else {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $result&amp;nbsp;&amp;nbsp; = $som-&amp;gt;result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Job $result has been submitted.\n";&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;----------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wfa_get_job_status.pl&lt;/P&gt;&lt;P&gt;-------------------------------&lt;/P&gt;&lt;P&gt;#!/usr/bin/perl -w&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;use strict;&lt;/P&gt;&lt;P&gt;# Use 'trace' if you need to debug the XML interactions.&lt;/P&gt;&lt;P&gt;#use SOAP::Lite 'trace';&lt;/P&gt;&lt;P&gt;use SOAP::Lite;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Oddly, the doc interface works and the rpc interface does not work when&lt;/P&gt;&lt;P&gt;# making a SOAP call with arguments.&amp;nbsp; The opposite is true when making&lt;/P&gt;&lt;P&gt;# SOAP calls with no arguments.&amp;nbsp; Good thing WFA supports both.&amp;nbsp; SOAP is fun.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $soapurl&amp;nbsp;&amp;nbsp; = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl';" target="_blank"&gt;http://WFA_IP/wfa-ws/WorkflowService_doc?wsdl';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;my $namespace = '&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://ws.wfa.netapp.com/';" target="_blank"&gt;http://ws.wfa.netapp.com/';&lt;/A&gt;&lt;/P&gt;&lt;P&gt;my $user&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;my $pass&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = "admin";&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sub SOAP::Transport::HTTP::Client::get_basic_credentials {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $user =&amp;gt; $pass;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;my $service = new SOAP::Lite&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uri&amp;nbsp;&amp;nbsp; =&amp;gt; $namespace,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; proxy =&amp;gt; $soapurl,&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;$service-&amp;gt;ns($namespace);&lt;/P&gt;&lt;P&gt;# Setting autotype is not really necessary, but I like it when debugging.&lt;/P&gt;&lt;P&gt;$service-&amp;gt;autotype('0');&lt;/P&gt;&lt;P&gt;# The use_prefix setting is deprecated, but I think it makes debbuing easier&lt;/P&gt;&lt;P&gt;# if you have tracing enabled.&lt;/P&gt;&lt;P&gt;#$service-&amp;gt;use_prefix('0');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $jobid&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 392;&lt;/P&gt;&lt;P&gt;my $jobidparam = SOAP::Data-&amp;gt;name('jobId')-&amp;gt;value($jobid);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my $som = $service-&amp;gt;getJobStatus($jobidparam);&lt;/P&gt;&lt;P&gt;if ($som-&amp;gt;faultcode) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Fault Code:", $som-&amp;gt;faultcode, "\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Fault String:", $som-&amp;gt;faultstring, "\n";&lt;/P&gt;&lt;P&gt;} else {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; my $result&amp;nbsp;&amp;nbsp; = $som-&amp;gt;result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Job start time: $result-&amp;gt;{'startTime'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Job end time:&amp;nbsp;&amp;nbsp; $result-&amp;gt;{'endTime'}\n" if ($result-&amp;gt;{'endTime'});&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Job status:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result-&amp;gt;{'jobStatus'}\n";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Job messages:&amp;nbsp;&amp;nbsp; $result-&amp;gt;{'errorMessage'}\n" if ($result-&amp;gt;{'errorMessage'});&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;-------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2012 04:04:59 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Active-IQ-Unified-Manager-Discussions/perl-webservices-client/m-p/7325#M1631</guid>
      <dc:creator>arndt</dc:creator>
      <dc:date>2012-09-14T04:04:59Z</dc:date>
    </item>
  </channel>
</rss>

