{"id":9958,"date":"2019-05-06T06:00:10","date_gmt":"2019-05-06T04:00:10","guid":{"rendered":"https:\/\/www.tomislavstankovic.com\/blog\/?p=9958"},"modified":"2019-05-22T22:53:04","modified_gmt":"2019-05-22T20:53:04","slug":"xml-soap-php","status":"publish","type":"post","link":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/","title":{"rendered":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u"},"content":{"rendered":"<p>Iako sam do sada radio isklju\u010divo s <em><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/node-js-resursi\/\" rel=\"noopener noreferrer\" target=\"_blank\">REST API<\/a><\/em>-jem koriste\u0107i <em><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/jednostavan-nodejs-expressjs-rest-api\/\" rel=\"noopener noreferrer\" target=\"_blank\">JSON<\/a><\/em> <strong>u ovom \u0107u blog postu pokazati kako pomo\u0107u <em><a href=\"https:\/\/en.wikipedia.org\/wiki\/SOAP\" rel=\"noopener noreferrer\" target=\"_blank\">SOAP<\/a><\/em> protokola slati\/primati <em>XML<\/em><\/strong> u <em>PHP<\/em>-u.<\/p>\n<p>Nekoliko stvari \u0107e biti poja\u0161njeno:<br \/>\n  &#8211; kako treba izgledati <em>XML<\/em> kojeg \u0161aljem kako bi dobio o\u010dekivani rezultat<br \/>\n  &#8211; kako raspakirati dobiveni rezultat i od njega napraviti niz (<em>array<\/em>) podataka<br \/>\n  &#8211; od \u010dega se sastoji <em>__doRequest<\/em> metoda<\/p>\n<h2>XAMPP<\/h2>\n<p>S obzirom da \u0107u sve raditi i testirati na lokalnom ra\u010dunalu potreban mi je <em><a href=\"https:\/\/www.apachefriends.org\/index.html\" rel=\"noopener noreferrer\" target=\"_blank\">XAMPP<\/a><\/em>, jedno od popularnijih <em>PHP<\/em> razvojnih okru\u017eenja.<\/p>\n<p>Ako lokalno \u017eelim koristiti <em>SOAP<\/em> protokol moram aktivirati <em><a href=\"https:\/\/www.php.net\/manual\/en\/class.soapclient.php\" rel=\"noopener noreferrer\" target=\"_blank\">SoapClient<\/a><\/em> jer \u0107u ina\u010de dobiti sljede\u0107u gre\u0161ku:<\/p>\n<pre class=\"lang:default decode:true \" >Fatal error: Uncaught Error: Class 'SoapClient' not found in C:\\xampp\\htdocs\\soap\\demo.php:57 Stack trace: #0 {main} thrown in C:\\xampp\\htdocs\\soap\\demo.php on line 57<\/pre>\n<p>Aktivacija se vr\u0161i unutar <em>Apache<\/em> modula &#8211; <em>Config<\/em> &#8211; <em>PHP (php.ini)<\/em>.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-min.png\" alt=\"SOAP XAMPP\" width=\"668\" height=\"434\" class=\"aligncenter size-full wp-image-9979\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-min.png 668w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-min-300x195.png 300w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/a><\/p>\n<p>Potrebno je prona\u0107i <span class=\"lang:php decode:true  crayon-inline \" >;extension=php_soap.dll<\/span> i maknuti <span class=\"lang:php decode:true  crayon-inline \" >;<\/span> te nakon toga restartati <em>Apache<\/em> modul.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-1-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-1-min.png\" alt=\"SOAP XAMPP\" width=\"705\" height=\"571\" class=\"aligncenter size-full wp-image-9982\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-1-min.png 705w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-1-min-300x243.png 300w\" sizes=\"auto, (max-width: 705px) 100vw, 705px\" \/><\/a><\/p>\n<h2>Postman<\/h2>\n<p>Prije nego krenem s izradom primjera u <em>PHP<\/em>-u moram se uvjeriti da <em>API<\/em> radi, a to \u0107u napraviti kroz <em><a href=\"https:\/\/www.getpostman.com\/\" rel=\"noopener noreferrer\" target=\"_blank\">Postman<\/a><\/em>.<\/p>\n<p>Kod slanja zahtjeva na <em>API<\/em> moram pod <em>Headers<\/em> postaviti <span class=\"lang:default decode:true  crayon-inline \" >Content-Type: text\/xml<\/span> dok u <em>Body<\/em> ide <em>XML<\/em> u <em><a href=\"https:\/\/learning.getpostman.com\/docs\/postman\/sending_api_requests\/requests\/\" rel=\"noopener noreferrer\" target=\"_blank\">raw<\/a><\/em> obliku.<\/p>\n<p>Na prvom <em>API<\/em>-ju dobijem popis stanica.<\/p>\n<pre class=\"lang:default decode:true\">http:\/\/example.com:9909\/demoSoap.asmx?op=getStanice<\/pre>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-2-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-2-min.png\" alt=\"SOAP XML Postman\" width=\"1558\" height=\"1160\" class=\"aligncenter size-full wp-image-9993\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-2-min.png 1558w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-2-min-300x223.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-2-min-768x572.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-2-min-1024x762.png 1024w\" sizes=\"auto, (max-width: 1558px) 100vw, 1558px\" \/><\/a><\/p>\n<p>Na drugom <em>API<\/em>-ju, nakon \u0161to po\u0161aljem <em>ID<\/em> dvije stanice i datum, dobijem popis aktivnih stanica za odabrani datum.<\/p>\n<pre class=\"lang:default decode:true   \" >http:\/\/example.com:9909\/demoSoap.asmx?op=getLinije<\/pre>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-3-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-3-min.png\" alt=\"SOAP XML Postman\" width=\"1558\" height=\"1160\" class=\"aligncenter size-full wp-image-9995\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-3-min.png 1558w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-3-min-300x223.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-3-min-768x572.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-3-min-1024x762.png 1024w\" sizes=\"auto, (max-width: 1558px) 100vw, 1558px\" \/><\/a><\/p>\n<h2>PHP demo aplikacija<\/h2>\n<p>U slu\u017ebenoj dokumentaciji na adresi <a href=\"https:\/\/www.php.net\/manual\/en\/class.soapclient.php\" rel=\"noopener noreferrer\" target=\"_blank\">https:\/\/www.php.net\/manual\/en\/class.soapclient.php<\/a> saznao sam koje parametre trebam poslati kako bi dobio \u017eeljeni rezultat. <\/p>\n<p><strong><em><a href=\"https:\/\/www.php.net\/manual\/en\/soapclient.dorequest.php\" rel=\"noopener noreferrer\" target=\"_blank\">__doRequest<\/a><\/em> metoda<\/strong> me u ovom slu\u010daju najvi\u0161e zanima.<\/p>\n<pre class=\"lang:php decode:true \" >public SoapClient::__doRequest ( string $request , string $location , string $action , int $version [, int $one_way = 0 ] ) : string<\/pre>\n<p>Iz prilo\u017eene dokumentacije vidim da mi je potrebno \u010detiri tj. pet parametara. <\/p>\n<h3>getStanice<\/h3>\n<p><span class=\"lang:php decode:true  crayon-inline \" >string $request<\/span> je zapravo <em>XML<\/em> koji sam u <em>Postmanu<\/em> slao kroz <em>Body<\/em>.<\/p>\n<pre class=\"lang:xhtml decode:true   \" title=\"http:\/\/example.com:9909\/demoSoap.asmx?op=getStanice\" >&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;soap:Envelope xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\"&gt;\r\n  &lt;soap:Body&gt;\r\n    &lt;getStanice xmlns=\"http:\/\/www.tomislavstankovic.com\/\"&gt;\r\n      &lt;Korisnik&gt;string&lt;\/Korisnik&gt;\r\n      &lt;Lozinka&gt;string&lt;\/Lozinka&gt;\r\n    &lt;\/getStanice&gt;\r\n  &lt;\/soap:Body&gt;\r\n&lt;\/soap:Envelope&gt;<\/pre>\n<p><span class=\"lang:php decode:true crayon-inline\">string $location<\/span> je <em>URL API<\/em>-ja.<\/p>\n<pre class=\"lang:default decode:true\">http:\/\/example.com:9909\/demoSoap.asmx?op=getStanice<\/pre>\n<p><span class=\"lang:php decode:true  crayon-inline\">string $action<\/span> je potrebno prona\u0107i u dokumentaciji <em>API<\/em>-ja.<\/p>\n<pre class=\"lang:default decode:true       \" >POST \/demoSoap.asmx HTTP\/1.1\r\nHost: tomislavstankovic.com\r\nContent-Type: text\/xml; charset=utf-8\r\nContent-Length: length\r\nSOAPAction: \"http:\/\/www.tomislavstankovic.com\/getStanice\"<\/pre>\n<p><span class=\"lang:php decode:true crayon-inline\">int $version<\/span> ozna\u010dava verziju <em>XML<\/em>-a. U ovom slu\u010daju to je <span class=\"lang:default decode:true crayon-inline\">1<\/span>.<\/p>\n<p>Sve zajedno to izgleda ovako<\/p>\n<pre class=\"lang:php decode:true \" title=\"demo.php\" >&lt;?php\r\n$xmlrequest = '&lt;soap:Envelope xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\"&gt;\r\n  &lt;soap:Body&gt;\r\n    &lt;getStanice xmlns=\"http:\/\/www.tomislavstankovic.com\/\"&gt;\r\n    &lt;Korisnik&gt;string&lt;\/Korisnik&gt;\r\n    &lt;Lozinka&gt;string&lt;\/Lozinka&gt;\r\n    &lt;\/getStanice&gt;\r\n  &lt;\/soap:Body&gt;\r\n&lt;\/soap:Envelope&gt;';\r\n\r\n$location_URL = 'http:\/\/example.com:9909\/demoSoap.asmx?op=getStanice';\r\n\r\n$client = new SoapClient(null, array(\r\n  'method' =&gt; 'POST',\r\n  'location' =&gt; $location_URL,\r\n  'Content-Type' =&gt; 'Content-type: text\/xml',\r\n  'uri'      =&gt; \"http:\/\/example.com:9909\/demoSoap.asmx\",\r\n));\r\n\r\n$result = $client-&gt;__doRequest($xmlrequest, $location_URL, \"http:\/\/www.tomislavstankovic.com\/getStanice\", 1);\r\n\r\n?&gt;<\/pre>\n<p>Nakon \u0161to sam dobio rezultat <span class=\"lang:php decode:true  crayon-inline \" >$result<\/span> trebam iz njega izvu\u0107i nazive stanica tj. njihove <em>ID<\/em>-eve kako bi mogao kreirati <em><a href=\"https:\/\/www.w3schools.com\/tags\/tag_select.asp\" rel=\"noopener noreferrer\" target=\"_blank\">select<\/a><\/em> polja. Ovdje koristim <em><a href=\"https:\/\/www.w3schools.com\/xml\/dom_nodes_nodelist.asp\" rel=\"noopener noreferrer\" target=\"_blank\">getElementsByTagName()<\/a><\/em> metodu.<\/p>\n<pre class=\"lang:php decode:true \" title=\"demo.php\" >...\r\n\r\n$dom = new DOMDocument($result);\r\n$dom-&gt;loadXML($result);\r\n\r\nforeach ($dom-&gt;getElementsByTagName('NewDataSet') as $sveStanice)\r\n{\r\n    foreach ($sveLinije-&gt;getElementsByTagName('stanica') as $stanica)\r\n    {\r\n        \/\/$popisStanica[] = $stanica; \r\n        $popisStanica[] = $stanica-&gt;childNodes[1]-&gt;nodeValue; \r\n        $popisStanica[]=$stanica-&gt;firstChild-&gt;nodeValue;\r\n    }\r\n   print_r($popisStanica);\r\n}\r\n\r\n?&gt;<\/pre>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-4-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-4-min.png\" alt=\"[nodeValue]\" width=\"599\" height=\"700\" class=\"aligncenter size-full wp-image-10017\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-4-min.png 599w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-4-min-257x300.png 257w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/p>\n<p><span class=\"lang:php decode:true  crayon-inline \" > print_r($popisStanica);<\/span> daje sljede\u0107i rezultat u kojemu gledam <span class=\"lang:default decode:true  crayon-inline \" >[nodeValue]<\/span> unutar kojega se nalazi string sa svim podacima od pojedine stanice. Npr. <span class=\"lang:default decode:true  crayon-inline \" >[nodeValue] =&gt; idNAZIVgps1GPS2granicaZEMLJAIDnazivzemljeOZNAKA<\/span>.<\/p>\n<p>Od toga sada mogu kreirati dva <em><a href=\"https:\/\/www.w3schools.com\/tags\/tag_select.asp\" rel=\"noopener noreferrer\" target=\"_blank\">select<\/a><\/em> polja + polje za odabir datuma.<\/p>\n<pre class=\"lang:sh decode:true \" title=\"demo.php\" >...\r\n&lt;form name=\"register\" method=\"post\"&gt;\r\nPo\u010detna stanica: \r\n&lt;select name=\"pocetnaStanica\"&gt;\r\n    &lt;?php\r\n        foreach($popisStanica as $key=&gt; $pocetnaNaziv)\r\n        {\r\n            $id=$popisStanicaId[$key];\r\n            echo \"&lt;option value='$id'&gt;\".$pocetnaNaziv.\"&lt;\/option&gt;\";\r\n        }\r\n    ?&gt;\r\n&lt;\/select&gt;\r\n\r\nZavr\u0161na stanica: \r\n&lt;select name=\"zavrsnaStanica\"&gt;\r\n    &lt;?php\r\n        foreach($popisStanica as $key=&gt; $zavrsnaNaziv)\r\n        {\r\n            $id=$popisStanicaId[$key];\r\n            echo \"&lt;option value='$id'&gt;\".$zavrsnaNaziv.\"&lt;\/option&gt;\";\r\n        }\r\n    ?&gt;\r\n&lt;\/select&gt;\r\nDatum:\r\n&lt;input type=\"date\" name=\"datum\"&gt;\r\n&lt;input type=\"submit\" name=\"submit\" value=\"Po\u0161alji\"\/&gt; \r\n&lt;\/form&gt;\r\n?&gt;<\/pre>\n<p>Krajnji rezultat su dva padaju\u0107a izbornika sa popisom stanica.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-6-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-6-min.png\" alt=\"SOAP protokol\" width=\"860\" height=\"166\" class=\"aligncenter size-full wp-image-10125\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-6-min.png 860w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-6-min-300x58.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-6-min-768x148.png 768w\" sizes=\"auto, (max-width: 860px) 100vw, 860px\" \/><\/a><\/p>\n<h3>getLinije<\/h3>\n<p><span class=\"lang:php decode:true  crayon-inline \" >string $request<\/span> je zapravo <em>XML<\/em> koji sam u <em>Postmanu<\/em> slao kroz <em>Body<\/em>.<\/p>\n<pre class=\"lang:default decode:true \" title=\"http:\/\/example.com:9909\/demoSoap.asmx?op=getLinije\" >&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;soap:Envelope xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\"&gt;\r\n  &lt;soap:Body&gt;\r\n    &lt;getLinije xmlns=\"http:\/\/tomislavstankovic.com\/\"&gt;\r\n      &lt;Korisnik&gt;string&lt;\/Korisnik&gt;\r\n      &lt;Lozinka&gt;string&lt;\/Lozinka&gt;\r\n      &lt;StanicaOd&gt;int&lt;\/StanicaOd&gt;\r\n      &lt;StanicaDo&gt;int&lt;\/StanicaDo&gt;\r\n      &lt;Datum&gt;dateTime&lt;\/Datum&gt;\r\n    &lt;\/getLinije&gt;\r\n  &lt;\/soap:Body&gt;\r\n&lt;\/soap:Envelope&gt;<\/pre>\n<p>Parametre <span class=\"lang:default decode:true crayon-inline\">StanicaOd<\/span>, <span class=\"lang:default decode:true crayon-inline\">StanicaDo<\/span> i <span class=\"lang:default decode:true crayon-inline\">Datum<\/span> dohva\u0107am dinami\u010dki putem forme kroz funkciju <span class=\"lang:php decode:true    crayon-inline \" >display()<\/span>.<\/p>\n<pre class=\"lang:php decode:true   \" title=\"demo.php\" >&lt;?php\r\nif(isset($_POST['submit']) &amp;&amp; isset($_POST['pocetnaStanica']) &amp;&amp; isset($_POST['zavrsnaStanica']) &amp;&amp; isset($_POST['datum'])){\r\n        display($_POST['pocetnaStanica'],$_POST['zavrsnaStanica'],$_POST['datum']);\r\n} else {\r\n    echo \"Odaberite vrijednosti!\";\r\n}\r\n?&gt;<\/pre>\n<p><span class=\"lang:php decode:true crayon-inline\">string $location<\/span> je <em>URL API<\/em>-ja.<\/p>\n<pre class=\"lang:default decode:true\">http:\/\/example.com:9909\/demoSoap.asmx?op=getLinije<\/pre>\n<p><span class=\"lang:php decode:true  crayon-inline\">string $action<\/span> je potrebno prona\u0107i u dokumentaciji <em>API<\/em>-ja.<\/p>\n<pre class=\"lang:default decode:true       \" >POST \/demoSoap.asmx HTTP\/1.1\r\nHost: tomislavstankovic.com\r\nContent-Type: text\/xml; charset=utf-8\r\nContent-Length: length\r\nSOAPAction: \"http:\/\/www.tomislavstankovic.com\/getLinije\"<\/pre>\n<p><span class=\"lang:php decode:true crayon-inline\">int $version<\/span> ozna\u010dava verziju <em>XML<\/em>-a. U ovom slu\u010daju to je <span class=\"lang:default decode:true crayon-inline\">1<\/span>.<\/p>\n<p>Sve zajedno to izgleda ovako<\/p>\n<pre class=\"lang:php decode:true   \" title=\"demo.php\" >&lt;?php\r\nfunction display($pocetnaStanica,$zavrsnaStanica,$datum)\r\n{\r\n$xmlrequest1 = '&lt;soap:Envelope xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\"&gt;\r\n&lt;soap:Body&gt;\r\n&lt;getLinije xmlns=\"http:\/\/www.tomislavstankovic.com\/\"&gt;\r\n &lt;Korisnik&gt;string&lt;\/Korisnik&gt;\r\n &lt;Lozinka&gt;string&lt;\/Lozinka&gt;\r\n &lt;StanicaOd&gt;'.$pocetnaStanica.'&lt;\/StanicaOd&gt;\r\n &lt;StanicaDo&gt;'.$zavrsnaStanica.'&lt;\/StanicaDo&gt;\r\n &lt;Datum&gt;'.$datum.'&lt;\/Datum&gt;\r\n&lt;\/getLinije&gt;\r\n&lt;\/soap:Body&gt;\r\n&lt;\/soap:Envelope&gt;';\r\n\r\n$location_URL1 = 'http:\/\/example.com:9909\/demoSoap.asmx?op=getLinije';\r\n\r\n$client1 = new SoapClient(null, array(\r\n'method' =&gt; 'POST',\r\n'location' =&gt; $location_URL1,\r\n'Content-Type' =&gt; 'Content-type: text\/xml',\r\n'uri'      =&gt; \"http:\/\/example.com:9909\/demoSoap.asmx\"\r\n));\r\n\r\n$result1 = $client1-&gt;__doRequest($xmlrequest1, $location_URL1, \"http:\/\/www.tomislavstankovic.com\/getLinije\", 1);\r\n}<\/pre>\n<p>Nakon \u0161to sam dobio rezultat <span class=\"lang:php decode:true  crayon-inline \" >$result<\/span> trebam iz njega izvu\u0107i nazive stanica tj. njihove <em>ID<\/em>-eve, termine polaska, dolaska i ukupno trajanje putovanja kako bi mogao kreirati <a href=\"https:\/\/www.w3schools.com\/html\/html_tables.asp\" rel=\"noopener noreferrer\" target=\"_blank\">tablicu<\/a>. Ovdje tako\u0111er koristim <em><a href=\"https:\/\/www.w3schools.com\/xml\/dom_nodes_nodelist.asp\" rel=\"noopener noreferrer\" target=\"_blank\">getElementsByTagName()<\/a><\/em> metodu.<\/p>\n<pre class=\"lang:php decode:true \" title=\"demo.php\" >...\r\n\r\n&lt;table class=\"table table-hover table-bordered thead-dark\"&gt;\r\n&lt;thead class=\"thead-dark\"&gt;\r\n  &lt;tr&gt;\r\n    &lt;th&gt;Linija&lt;\/th&gt;\r\n  &lt;\/tr&gt;\r\n  &lt;\/thead&gt;\r\n  \r\n\r\n&lt;?php\r\n\r\ntry {\r\n  $result1 = $client1-&gt;__doRequest($xmlrequest1, $location_URL1, \"http:\/\/www.tomislavstankovic.com\/getLinije\", 1);\r\n  $dom1 = new DOMDocument($result1);\r\n  $dom1-&gt;loadXML($result1);\r\nforeach ($dom1-&gt;getElementsByTagName('NewDataSet') as $sveLinije1)\r\n    {\r\n        foreach ($sveLinije1-&gt;getElementsByTagName('linija') as $linija)\r\n        {\r\n            \/\/$naziviLinija[] = $linije1; \r\n            $naziviLinija[] = $linija-&gt;childNodes[2]-&gt;nodeValue; \r\n            \/\/$vrijemePolaska[] = $linija-&gt;childNodes[3]-&gt;nodeValue;\r\n            \/\/$vrijemeDolaska[] = $linija-&gt;childNodes[4]-&gt;nodeValue;\r\n            \/\/$ukupnoTrajanje[] = $linija-&gt;childNodes[5]-&gt;nodeValue;\r\n        }\r\n        print_r($naziviLinija);\r\n        foreach($naziviLinija as $nazivLinije =&gt; $value) {\r\n?&gt;\r\n\r\n&lt;tr&gt;\r\n&lt;td&gt;&lt;?php echo $naziviLinija[$nazivLinije]; ?&gt;&lt;\/td&gt;\r\n  &lt;\/tr&gt;\r\n  \r\n&lt;?php\r\n        }\r\n    }\r\n} catch (SoapFault $exception){\r\n    var_dump($exception);\r\n}\r\n}\r\n?&gt;<\/pre>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-5-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-5-min.png\" alt=\"[nodeValue]\" width=\"691\" height=\"706\" class=\"aligncenter size-full wp-image-10037\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-5-min.png 691w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-5-min-294x300.png 294w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\" \/><\/a><\/p>\n<p>Krajnji rezultat izgleda ovako:<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-7-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-7-min.png\" alt=\"SOAP post \" width=\"1148\" height=\"526\" class=\"aligncenter size-full wp-image-10126\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-7-min.png 1148w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-7-min-300x137.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-7-min-768x352.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-7-min-1024x469.png 1024w\" sizes=\"auto, (max-width: 1148px) 100vw, 1148px\" \/><\/a><\/p>\n<p>Prikaz vremena polaska, dolaska i trajanje mogu se pomo\u0107u jedne funkcije ljep\u0161e formatirati.<\/p>\n<pre class=\"lang:php decode:true \" title=\"demo.php\" >function vrativrijeme($vrijemestring)\r\n{\r\n    $x=strpos($vrijemestring,\"H\");\r\n      if ($x==3) {\r\n         $str2=substr ( $vrijemestring , $x-1, 1);\r\n       }  else if (!$x) {\r\n         $str2=\"\";\r\n       } else {\r\n         $str2=substr ( $vrijemestring , $x-2, 2);\r\n       } \r\n         $str3 = substr($vrijemestring, -3);\r\n           $y=substr($str3,0,1);\r\n    \r\n      if ($y=='H') {\r\n        $str3=substr($str3,1,1);\r\n      } else if (!$y){\r\n\t\t  $str3=\"\";\r\n\t  } else {\r\n        $str3=substr($str3,0,2);\r\n      }\r\n\t  \r\n\t  if (!$x) {\r\n\t\t$rezultat=$str3;\r\n        return $rezultat;\r\n\t  } else {\r\n\t\t$rezultat= $str2.\":\".$str3;\r\n        return $rezultat;\r\n\t  } \r\n}\r\n\r\n...\r\n\r\nforeach ($sveLinije1-&gt;getElementsByTagName('linija') as $linije1)\r\n        {\r\n            $popisLinija1[] = $linije1-&gt;childNodes[2]-&gt;nodeValue; \r\n            $polazak[] = vrativrijeme($linije1-&gt;childNodes[3]-&gt;nodeValue);\r\n            $dolazak[] = vrativrijeme($linije1-&gt;childNodes[4]-&gt;nodeValue);\r\n            $trajanje[] = vrativrijeme($linije1-&gt;childNodes[5]-&gt;nodeValue);\r\n        }<\/pre>\n<p>Krajnji rezultat sada izgleda ovako:<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-8-min.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-8-min.png\" alt=\"SOAP post\" width=\"1149\" height=\"525\" class=\"aligncenter size-full wp-image-10127\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-8-min.png 1149w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-8-min-300x137.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-8-min-768x351.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-8-min-1024x468.png 1024w\" sizes=\"auto, (max-width: 1149px) 100vw, 1149px\" \/><\/a><\/p>\n<h2>Zaklju\u010dak<\/h2>\n<p>Cilj ovog blog posta bio je pokazati kako napraviti demo <em>PHP<\/em> aplikaciju pomo\u0107u koje se mo\u017ee primiti\/poslati <em>XML<\/em> putem <em>SOAP<\/em> protokola.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Iako sam do sada radio isklju\u010divo s REST API-jem koriste\u0107i JSON u ovom \u0107u blog postu pokazati kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u. Nekoliko stvari \u0107e biti poja\u0161njeno: &#8211; kako treba izgledati XML kojeg \u0161aljem kako bi dobio o\u010dekivani rezultat &#8211; kako raspakirati dobiveni rezultat i od njega napraviti niz (array) podataka &#8211; &hellip; <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/\" class=\"more-link\">Nastavi \u010ditati <span class=\"screen-reader-text\">Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":10024,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[566,351],"tags":[479,592,591],"class_list":["post-9958","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend","category-razvoj","tag-php","tag-soap","tag-xml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u - Tomislav Stankovi\u0107<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/\" \/>\n<meta property=\"og:locale\" content=\"hr_HR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u - Tomislav Stankovi\u0107\" \/>\n<meta property=\"og:description\" content=\"Iako sam do sada radio isklju\u010divo s REST API-jem koriste\u0107i JSON u ovom \u0107u blog postu pokazati kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u. Nekoliko stvari \u0107e biti poja\u0161njeno: &#8211; kako treba izgledati XML kojeg \u0161aljem kako bi dobio o\u010dekivani rezultat &#8211; kako raspakirati dobiveni rezultat i od njega napraviti niz (array) podataka &#8211; &hellip; Nastavi \u010ditati Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-06T04:00:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-22T20:53:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-header-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisao\/la\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomislav Stankovi\u0107\" \/>\n\t<meta name=\"twitter:label2\" content=\"Procijenjeno vrijeme \u010ditanja\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minuta\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/\"},\"author\":{\"name\":\"Tomislav Stankovi\u0107\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"headline\":\"Kako pomo\u0107u SOAP protokola slati\\\/primati XML u PHP-u\",\"datePublished\":\"2019-05-06T04:00:10+00:00\",\"dateModified\":\"2019-05-22T20:53:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/\"},\"wordCount\":529,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/soap-xml-php-xampp-header-min.jpg\",\"keywords\":[\"PHP\",\"SOAP\",\"XML\"],\"articleSection\":[\"Frontend\",\"Razvoj\"],\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/\",\"name\":\"Kako pomo\u0107u SOAP protokola slati\\\/primati XML u PHP-u - Tomislav Stankovi\u0107\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/soap-xml-php-xampp-header-min.jpg\",\"datePublished\":\"2019-05-06T04:00:10+00:00\",\"dateModified\":\"2019-05-22T20:53:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#breadcrumb\"},\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/soap-xml-php-xampp-header-min.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/05\\\/soap-xml-php-xampp-header-min.jpg\",\"width\":825,\"height\":510,\"caption\":\"Kako pomo\u0107u SOAP protokola slati\\\/primati XML u PHP-u\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/xml-soap-php\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna stranica\",\"item\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kako pomo\u0107u SOAP protokola slati\\\/primati XML u PHP-u\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"name\":\"Tomislav Stankovi\u0107\",\"description\":\"Sam svoj bloger\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\",\"name\":\"Tomislav Stankovi\u0107\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"width\":248,\"height\":165,\"caption\":\"Tomislav Stankovi\u0107\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\"},\"description\":\"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.\",\"sameAs\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tomislavstankovic\\\/\"],\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/author\\\/tomislavstankovic\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u - Tomislav Stankovi\u0107","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/","og_locale":"hr_HR","og_type":"article","og_title":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u - Tomislav Stankovi\u0107","og_description":"Iako sam do sada radio isklju\u010divo s REST API-jem koriste\u0107i JSON u ovom \u0107u blog postu pokazati kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u. Nekoliko stvari \u0107e biti poja\u0161njeno: &#8211; kako treba izgledati XML kojeg \u0161aljem kako bi dobio o\u010dekivani rezultat &#8211; kako raspakirati dobiveni rezultat i od njega napraviti niz (array) podataka &#8211; &hellip; Nastavi \u010ditati Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u","og_url":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/","og_site_name":"Tomislav Stankovi\u0107","article_published_time":"2019-05-06T04:00:10+00:00","article_modified_time":"2019-05-22T20:53:04+00:00","og_image":[{"width":825,"height":510,"url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-header-min.jpg","type":"image\/jpeg"}],"author":"Tomislav Stankovi\u0107","twitter_card":"summary_large_image","twitter_misc":{"Napisao\/la":"Tomislav Stankovi\u0107","Procijenjeno vrijeme \u010ditanja":"7 minuta"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#article","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/"},"author":{"name":"Tomislav Stankovi\u0107","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"headline":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u","datePublished":"2019-05-06T04:00:10+00:00","dateModified":"2019-05-22T20:53:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/"},"wordCount":529,"commentCount":0,"publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-header-min.jpg","keywords":["PHP","SOAP","XML"],"articleSection":["Frontend","Razvoj"],"inLanguage":"hr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/","url":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/","name":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u - Tomislav Stankovi\u0107","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#primaryimage"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-header-min.jpg","datePublished":"2019-05-06T04:00:10+00:00","dateModified":"2019-05-22T20:53:04+00:00","breadcrumb":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#breadcrumb"},"inLanguage":"hr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/"]}]},{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#primaryimage","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-header-min.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/05\/soap-xml-php-xampp-header-min.jpg","width":825,"height":510,"caption":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tomislavstankovic.com\/blog\/xml-soap-php\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna stranica","item":"https:\/\/www.tomislavstankovic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kako pomo\u0107u SOAP protokola slati\/primati XML u PHP-u"}]},{"@type":"WebSite","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website","url":"https:\/\/www.tomislavstankovic.com\/blog\/","name":"Tomislav Stankovi\u0107","description":"Sam svoj bloger","publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tomislavstankovic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d","name":"Tomislav Stankovi\u0107","image":{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","width":248,"height":165,"caption":"Tomislav Stankovi\u0107"},"logo":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg"},"description":"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.","sameAs":["https:\/\/www.tomislavstankovic.com\/blog\/","https:\/\/www.linkedin.com\/in\/tomislavstankovic\/"],"url":"https:\/\/www.tomislavstankovic.com\/blog\/author\/tomislavstankovic\/"}]}},"_links":{"self":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/9958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/comments?post=9958"}],"version-history":[{"count":91,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/9958\/revisions"}],"predecessor-version":[{"id":10128,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/9958\/revisions\/10128"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media\/10024"}],"wp:attachment":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media?parent=9958"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/categories?post=9958"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/tags?post=9958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}