{"id":16,"date":"2010-10-01T11:52:10","date_gmt":"2010-10-01T09:52:10","guid":{"rendered":"http:\/\/www.depieri.net\/?p=16"},"modified":"2010-10-01T22:37:55","modified_gmt":"2010-10-01T20:37:55","slug":"16","status":"publish","type":"post","link":"https:\/\/www.depieri.net\/?p=16","title":{"rendered":"querying Tivoli Workload Scheduler 8.5 (tws) using web services"},"content":{"rendered":"<p>Pubblico un esempio di client per l&#8217;interrogazione di tws mediante web services utilizzando perl&#8230;<\/p>\n<p><code>#!\/bin\/perl<\/code><\/p>\n<p>#ppm install SOAP::Lite<br \/>\n#ppm install Crypt::SSLeay<\/p>\n<p>use SOAP::Lite<br \/>\n#trace=&gt;&#8217;all&#8217;<br \/>\n;<\/p>\n<p>#use SOAP::Lite +trace =&gt; [qw(method fault headers result debug)];<\/p>\n<p>my $username = &#8216;user&#8217;;<br \/>\nmy $password = &#8216;pass&#8217;;<br \/>\nmy $host\u00a0\u00a0\u00a0\u00a0 = &#8216;host&#8217;;<\/p>\n<p>sub SOAP::Transport::HTTP::Client::get_basic_credentials {<br \/>\nreturn $username =&gt; $password;<br \/>\n}<\/p>\n<p>$wsdl = &#8220;https:\/\/$host:31116\/PlanServicesWeb\/services\/SchedulingFactory\/wsdl\/SchedulingFactory.wsdl&#8221;;<\/p>\n<p>#$service = &#8220;https:\/\/$host:31116\/PlanServicesWeb\/services\/JobStreamService&#8221;;<br \/>\n#$service = &#8220;https:\/\/$host:31116\/PlanServicesWeb\/services\/JobService&#8221;;<\/p>\n<p>$service = &#8220;https:\/\/$host:31116\/PlanServicesWeb\/services\/SchedulingFactory&#8221;;<\/p>\n<p>$ns1 = &#8220;http:\/\/services.ws.tws.ibm.com\/TWS-Scheduling&#8221;;<br \/>\n$ns2 = &#8220;http:\/\/types.ws.tws.ibm.com\/TWS-Types&#8221;;<\/p>\n<p>my $soap = SOAP::Lite-&gt;new( proxy =&gt; $service );<br \/>\n$soap-&gt;readable(1);<br \/>\n$soap-&gt;ns($ns2,&#8217;ns2&#8242;);<br \/>\n$soap-&gt;ns($ns1,&#8217;ns1&#8242;);<\/p>\n<p>my $result=$soap-&gt;call(&#8220;queryJobs&#8221;,<br \/>\nSOAP::Data-&gt;name(&#8220;engineName&#8221; =&gt; undef )-&gt;prefix(ns1),<br \/>\nSOAP::Data-&gt;name(&#8220;filter&#8221; =&gt; \\SOAP::Data-&gt;value(<br \/>\nSOAP::Data-&gt;name(&#8220;details&#8221;)-&gt;prefix(ns2),<br \/>\nSOAP::Data-&gt;name(&#8220;minimum&#8221;)-&gt;prefix(ns2),<br \/>\nSOAP::Data-&gt;name(&#8220;maximum&#8221;)-&gt;prefix(ns2),<br \/>\nSOAP::Data-&gt;name(&#8220;dataType&#8221;=&gt;&#8221;WORKSTATION_NAME&#8221;)-&gt;prefix(ns2),<br \/>\nSOAP::Data-&gt;name(&#8220;value&#8221;=&gt; \\SOAP::Data-&gt;value(<br \/>\nSOAP::Data-&gt;name(string=&gt;&#8221;WK17&#8221;)-&gt;prefix(&#8220;xsd&#8221;),<br \/>\n),<br \/>\n)-&gt;prefix(ns2),<\/p>\n<p>SOAP::Data-&gt;name(&#8220;dataType&#8221;=&gt;&#8221;JOB_STREAM_NAME&#8221;)-&gt;prefix(ns2),<br \/>\nSOAP::Data-&gt;name(&#8220;value&#8221;=&gt; \\SOAP::Data-&gt;value(<br \/>\nSOAP::Data-&gt;name(string=&gt;&#8221;IGS*&#8221;)-&gt;prefix(&#8220;xsd&#8221;),<br \/>\n),<br \/>\n)-&gt;prefix(ns2),<br \/>\n),<br \/>\n)-&gt;prefix(ns1)-&gt;type(&#8220;ns2:FilterCriteria&#8221;),<\/p>\n<p>);<\/p>\n<p>die $result-&gt;faultstring if ($result-&gt;fault);<\/p>\n<p>#use Data::Dumper qw(Dumper);<br \/>\n#print Dumper ($result);<\/p>\n<p>foreach my $a ($result-&gt;valueof(&#8220;\/\/queryJobsResponse\/queryJobsReturn\/JobInstance&#8221;)) {<br \/>\nprint sprintf &#8220;%-11s %-16s %-16s %-16s %-16s %-5s\\n&#8221;, $a-&gt;{workstationName},<br \/>\n$a-&gt;{jobName},<br \/>\n$a-&gt;{jobStreamName},<br \/>\n$a-&gt;{startTime},<br \/>\n$a-&gt;{actualEnd},<br \/>\n$a-&gt;{internalStatus};<br \/>\n}<\/p>\n<p>exit;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pubblico un esempio di client per l&#8217;interrogazione di tws mediante web services utilizzando perl&#8230; #!\/bin\/perl #ppm install SOAP::Lite #ppm install Crypt::SSLeay use SOAP::Lite #trace=&gt;&#8217;all&#8217; ; #use SOAP::Lite +trace =&gt; [qw(method fault headers result debug)]; my $username = &#8216;user&#8217;; my $password = &#8216;pass&#8217;; my $host\u00a0\u00a0\u00a0\u00a0 = &#8216;host&#8217;; sub SOAP::Transport::HTTP::Client::get_basic_credentials { return $username =&gt; $password; } $wsdl &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.depieri.net\/?p=16\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;querying Tivoli Workload Scheduler 8.5 (tws) using web services&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-programming","entry"],"_links":{"self":[{"href":"https:\/\/www.depieri.net\/index.php?rest_route=\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.depieri.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.depieri.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.depieri.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.depieri.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16"}],"version-history":[{"count":0,"href":"https:\/\/www.depieri.net\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.depieri.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.depieri.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.depieri.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}